该项目目前还处于早期开发阶段。
最近参加工作,还在忙另一个毕业设计,这个项目目前正在搁置QAQ
这是VuePressAdmin的后端代码仓库。
用类似WordPress的方式管理你的VuePress站点!
VuePressAdmin允许你方便地管理VuePress的配置、发布和管理文章,后续还将支持一键发布至多平台、允许多作者等功能。
npm install
启动测试服务器(热重载)
npm run dev
启动服务(适用于部署)
npm run start
停止服务
npm run stop
执行单元测试
npm run test # 会先检查eslint,再执行单元测试
npm run test-local # 直接执行单元测试
npm run test-local-without-shell # 直接执行单元测试,但跳过需要网络请求的shell测试
npm run cov # 执行单元测试,生成代码覆盖率报告
VuePressAdmin后端部分主要使用的框架和库:
- VuePress(作为站点的驱动框架)
- EggJS(web服务框架)
- Sequelize v6(ORM框架)
- Caddy(新一代web服务器,提供本地部署站点能力)
- Shelljs(方便地执行shell)
- git(对站点、文章的修改都会自动提交到git,方便灵活发布站点)
- sinon(提供单元测试mock能力)
VuePressAdmin使用sqlite作为数据库。
VuePressAdmin基于Angular Conventional Changelog规范,使用Commitizen处理生成优雅、规范的代码提交记录。
VuePressAdmin使用release-it自动生成版本号、发布版本、生成CHANGELOG。
VuePressAdmin使用codecov提供集成化的代码覆盖率报告。
VuePressAdmin使用apidoc生成API文档,搭配GitHub Action和netlify自动更新发布API文档。
建立、维护开源项目的过程让我了解、学会了很多新技术,故对一些自己印象深刻的经历做了总结,希望能够帮到更多的人。
在数据库选型上,我考虑过常用的MySQL,也考虑过MongoDB,不过最终选择了SQLite。我认为它在这个项目背景下非常适用,足够简单,足够灵活,足够容易学习。
逛GitHub的时候发现现在越来越多的库的提交风格都规范统一,特别优雅,故借此机会探索了规范提交风格方面的技术,在本项目中也会一直贯彻落实。
玩单元测试时的一些感受~涉及到了对sinon、proxyquire的一些探讨
更新日志由release-it自动生成:CHANGELOG