starslink/EasyNav: 一个现代化的企业内部导航门户系统,用于集中管理和展示公司各类系统和资源的链接。
AI 摘要 · Qwen 中文摘要 收录
查看原文 EasyNav 是一个基于 React 与 Node.js 的企业内部导航门户系统,支持链接分组管理、用户认证和 Docker/Kubernetes 部署。
项目定位
- EasyNav 是一个现代化的企业内部导航门户系统。
- 用于集中管理和展示公司各类系统与资源链接。
- 页面提供了 demo 地址 https://www.easynav.icu。
核心功能
- 支持用户认证与授权。
- 提供响应式界面,适配桌面和移动设备。
- 支持分组、二级分类、链接排序和搜索。
- 提供分组与链接的增删改查管理。
技术栈
- 前端使用 React 18、TypeScript、Tailwind CSS、Framer Motion 等。
- 后端使用 Node.js、Express、SQLite/MySQL、JWT、Nodemailer 和 bcrypt。
- 部署支持 Docker、Kubernetes 和 Nginx。
运行与部署
- 环境要求 Node.js >= 18 和 npm >= 9。
- 默认使用 SQLite,也可配置 MySQL。
- 支持 Docker Compose 启动前后端与数据库。
- 提供 k8s 目录下的 Kubernetes 配置。
数据与接口
- 数据库包含 users、groups、subgroups 和 links 表。
- API 覆盖注册、登录和邮箱验证。
- 提供分组与链接的查询、创建、更新和删除接口。
安全与性能
- 使用 bcrypt 哈希密码、JWT 认证和邮箱验证。
- 通过环境变量配置敏感信息,并使用参数化查询防 SQL 注入。
- 前端采用懒加载、代码分割和 Gzip 压缩等优化。
- 后端采用数据库索引、连接池、缓存、限流和响应压缩。
许可证
- 项目采用木兰宽松许可证。