使用 koa2 + Sequelize 搭建的校园社区后端,巧妇难为无米之炊!一个厉害的项目的后端!
个人博客链接:Campus SNS 校园社区后端接口开发(附前端地址) - 项目集锦
这个项目是我刚学前端时参加的百度前端训练营进阶班的第一题,具备完善的校园社区功能及一个后台管理系统,于今年3月份开发,我负责的主要是后端的发帖管理、分区管理等地方的接口,在接口文档中就可以看到。当时团队里总共6人,3人参与开发后端,2人开发移动端前端,1人开发PC端,并且由于还年轻,写了挺多文档记录。
个人感觉这个接口系统麻雀虽小五脏俱全(某后端爷评价),既有两个前端(PC端的后台管理系统和手机端的校园社区),又有后端完善的接口,倒挺适合新人初学,也确实有过学弟学妹来问我我问题,故打算完善一下写篇博客总结一下。
后端项目一直运行在自己的云服务器上,可请求 http://cosine.ren:8000 尝试(轻点打,求求了,虽然有备份),哪天要是挂了我也不好说,建议大家本地运行前后端尝试~
个人认为优点是
Restful (老实说,当时不知道restful的概念但是自然而然的就用到了)缺点问题也很明显
上来先放源码地址,当时是在 gitee 进行开发,后来我将后端同步到了github
如果觉得不错的话,就 star 一个吧~也欢迎提 issue 和 pr
nodejs koa2 websocket sequelize
PM2 将项目部署至云服务器,配置 Nginx 反向代理koa-cors 解决跨域问题,设置了错误日志及日志分割Sequelize ORM 进行数据库的操作,使用 JWT 实现用户身份验证与信息加密,利用 WebSocket 实现在线用户数监测



Vue3 + Vite 构建






Vue3 + Vite 构建| 演示 | |
|---|---|
![]() | ![]() |
![]() | ![]() |
![]() | ![]() |
开发记录文档 记录了从 0 到 1 的搭建记录,非常详细的~
bug回忆录 顾名思义,搭建过程中的问题记录
基本上见名知义
errHandler.js错误统一处理函数index.js进行app的实例化config.default.js 系统的默认配置文件,用dotenv读取.env中的配置并暴露出来err.type.js 错误类型的汇总(常量)article.controller.js 文章相关的业务逻辑user.controller.js 所有用户相关的业务逻辑seq.js 连接数据库的控制文件(通过.env中默认配置连接本地数据库)article.middleware.js 文章相关的中间件auth.middleware.js 解析token的中间件user.middleware.js 用户相关的中间件article.model.js 文章信息的数据表文件user.model.js 用户信息的数据表文件css文件article.route.js 文章相关的路由注册user.route.js 用户相关的路由注册index.js 统一注册路由article.service.js 文章相关的数据库操作user.service.js 用户相关的数据库操作index.html 主路由的html模板err.log 存放错误日志out.log 存放输出日志seq.log 存放查询日志.env中指定的端口号进行监听node_modules(下载的依赖文件)# clone 项目
git clone https://github.com/yusixian/campus-community-backend.git
# cd到项目目录
# 下载所需依赖
npm install
net start mysqlschoolcommunity,当然你也可以用navicat等来创建.env 文件中更新 mysql 的相关配置npm run createModel来创建所有的数据表创建完数据库后
npm install
npm run dev
作为一名前端人,这次后端接口的开发一是有了能独立编写自己的轻量接口的能力,二是也知道了跟后端沟通时应注意哪些细节问题,大家都不容易,三是写接口文档确实费时费力,有时候还会吃力不太好写了忘记改,所以能够拥有相当完善的接口文档说明你的后端人特好。在今后开发的时候,最好也先按这种思路跟后端对齐一下,再进行开发,很多时候能节省不少功夫。
引用心圆佬引用阿里前端练习生计划开营仪式中梓骞老师说的一段话来收个尾:
他们也许不懂交互设计 但是没人比他们懂交互设计的实现以及每一个细节
他们也许不懂视觉设计 但是没人比他们懂视觉设计如何变为现实
他们也许不懂数据库 但是他们其实才是数据的第一消费者
他们也许不是产品经理 但是产品的体验几乎都是由他们来决定
好吧,我纯粹就是喜欢这段话
我期望着尽可能做到多少都懂一些,努力做一个合格的前端人。
下次发文,应该就是开始做做 ts 类型体操了。