{"repo":"Imfdj/egg-beehive","free":true,"listed":false,"github":"https://github.com/Imfdj/egg-beehive","clone":"git clone https://github.com/Imfdj/egg-beehive.git","description":"🖖基于Vue+Egg.js的JS全栈项目。动态菜单，RBAC权限模型，Websocket实现站内信。","language":"JavaScript","stars":413,"topics":["nodejs","mysql","redis","vue","vue-router","vuex","sequelize","rbac","eggjs"],"license":"MIT","category":"databases-storage","readme_excerpt":"Beehive 前言 Beehive 是一个项目管理系统。参考于Teambetion、PearProject，实现部分功能。 这是一个Vue+Node.js的js全栈项目。基于RBAC模型做权限控制，动态配置菜单，前端实现页面元素级别的权限控制。通过WebSocket实现站内信功能，任务看板中，实现更新同步推送。一旦其他项目成员有对我们当前查看的项目任务做任何的操作，页面都将立即同步更新，并向此任务的所有参与者（除了操作者）发送消息通知。注册和找回密码需要通过邮箱验证码验证，可以通过github授权登陆（不是很稳定）。 Node.js框架选用的是Egg.js，配合sequelize，自己写了一个小工具。可以通过填写表字段的配置，执行npm run generator-entity自动生成一整套文件，包括Swagger、数据校验validate、Sequelize需要的model、controller、service、router。并自动创建数据库表，包括每个字段的类型、长度、是否能为空、默认值、注释、索引、甚至是外键都能搞定。因为加了权限控制，所以还要到前端的资源管理中添加一下新增的资源，并在角色中点选分配一下，就完成了一张表的CRUD了，包括新增、修改、详情、批量删除、分页列表。当然这还是有很多可以优化的空间的，但也基本够用了。为了优化鉴权消耗，以及满足WebSocket的可靠性设计需要，系统引入Redis做缓存。 密码是加盐存储的，且在传输过程中使用了RSA做了非对称加密。Jwt认证使用Access Token + Refresh Token，配合黑名单。 效果演示 预发布环境：超级管理员账号：test-super ，密码：test-super123 预发布环境地址：beehives.imfdj.top 预发布环境：普通用户账号：test-user ，密码：test-user123 生产环境：普通用户账号：test-user ，密码：test-user123 生产环境地址：beehive.imfdj.top 技术栈 前端：Vue2全家桶 + Element-ui + Axios + Vue-socket.io + Sass 前端项目github地址 后端：Egg.js + Sequelize + Jwt + Mysql + Redis + Socket + Swagger 后端项目github地址 说明 如果对您有帮助，您可以点右上角 \"Star\" 支持一下 谢谢！ ^ ^ 或者您可以 \"follow\" 一下，我会不断开源更多的有趣的项目。如：Vue3 + NestJS + TypeScript ✨ 如有问题请直接在 Issues 中提，或者您发现问题并有非常好的解决方案，欢迎 PR 👍 目标功能 - [x] 登录、注册 -- 完成 - [x] github授权登录 -- 完成 - [x] 找回密码 -- 完成 - [x] 滑块验证 -- 完成 - [x] 邮箱验证 -- 完成 - [x] 动态首页 -- 完成 - [x] 个人设置 -- 完成 - [x] 用户管理 -- 完成 - [x] 角色管理 -- 完成 - [x] 菜单管理 -- 完成 - [x] 资源管理 -- 完成 - [x] 操作日志 -- 完成 - [x] 动态菜单 -- 完成 - [x] 部门管理 -- 完成 - [x] 项目列表 -- 完成 - [x] 任务看板 -- 完成 - [x] 任务列表 -- 完成 - [x] 项目文件 -- 完成 - [x] 项目概览 -- ","default_branch":null,"files":null,"tree":[],"storefront":"/r/Imfdj","claimed":false,"request_supported":{"post":"https://gitbuyer.com/r/Imfdj/egg-beehive/request-supported","requests":0},"note":"indexed from public GitHub; nothing is for sale on this page. Clone it from GitHub. Paid listings live at /search."}