首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >专栏 >将文件系统作为数据库的体验如何?

将文件系统作为数据库的体验如何?

作者头像
Jean
发布2021-06-16 17:00:18
发布2021-06-16 17:00:18
3.3K0
举报
文章被收录于专栏:Web行业观察Web行业观察

清理仓库,最近将自己Github上2/3的项目都删了,我们来看看其中一个仓库。

曾经写了一个web app,后端没有用数据库,而是文件系统,体验还不错,文件系统的索引也很快,有时候一个网站不需要什么SQL。

CSV with ag-grid & chart.js

功能概述

基于web的表格处理/图形渲染系统, 支持csv文件的导入导出, ag-grid的本地scrud, 以及chart.js框架的图表统计

CSV规范格式

能够读取的CSV格式必须符合通用标准,比如首行必须是表头,第二行开始是数据,可以有跨行单元格(系统会向上寻找到存在的元素并拷贝),系统自动识别数值类型并转化,但并不识别数值列.

网盘系统

本系统没有数据库, 没有数据库, 数据库! 通过在/public/file/目录下存储所有用户需要的csv文件,不支持目录.不得不说很多情况,尤其是web app的系统中文件系统要比DB好的多, 也方便的多,所以本应用是弱后端的.

前后端模块一览

  • ag-grid(enterprise): 不用说了, 所见过最强大, 最良心, 文档最完善的网格框架
  • chart.js: 一种轻量级的统计图框架, 支持八种图表
  • CryptoJS: js加密库, 主要用于用户pwd的sha1加密, 客户端调用, 不知道怎么在node端共用
  • fontawesome_pro: 从官网扒下来的pro版本(5.3?),不得不说他们防扣码的手段挺强
  • PapaParse: CSV2JSON的一个小工具
  • browser-detect: 浏览器/OS嗅探工具,用于全面封杀IE
  • body-parser: 非常经典的http body解析中间件,别没事用各种node模块,多研究研究标准库和http!!
  • ejs: html模板引擎
  • express: 经典web框架
  • express-session: 经典的express session框架(支持三种存储(内存, 文件, 数据库(各种数据库)))
  • session-file-store: 用于express-session的文件存储(千万别存在内存中)
  • path: 有时候路径拼接任务多了,斜杠就不知道怎么摆放了,干脆上框架..

绘图逻辑

每个一级group node制作一张线形图(贝塞尔曲线),如果它有二级group node(children),则作为图中的的多个曲线; 如果没有,则将自身作为唯一的曲线

主菜单一览

  • import: 将本地csv文件导入到浏览器中进行计算和渲染
  • upload: 上传本地csv文件备份到服务器的文件系统
  • server: 打开服务器文件系统
  • export: 将浏览器中编辑后的新表格导出为csv文件
  • charts: toggle图表界面
  • logout: 登出

登录

访问192.168.0.1:81 用户名和密码都是'root' 然后进入主界面, 表格功能和Excel类似, 请自行探索:)

这个项目曾经用到的图片素材:

本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2021-05-16,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 WebHub 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • CSV with ag-grid & chart.js
    • 功能概述
    • CSV规范格式
    • 网盘系统
    • 前后端模块一览
    • 绘图逻辑
    • 主菜单一览
    • 登录
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档