这是一个基于Next.js、Express构建的现代化CMS系统,提供完整的内容管理功能,包括文章管理、分类管理、用户管理等。
- 🚀 现代化技术栈:基于Next.js 14+和Express构建
- 📱 响应式设计:完美适配各种设备屏幕
- 🔒 安全认证:完整的用户认证和权限管理
- 📝 内容管理:强大的文章编辑和管理功能
- 🖼️ 文件上传:支持图片和文件上传
- 🔍 SEO友好:优化的元数据和页面结构
- 🌐 API接口:完善的RESTful API设计
- Next.js: React框架,用于构建服务端渲染和静态网站
- React: 用户界面库
- TypeScript: 类型安全的JavaScript超集
- Ant Design: UI组件库
- Radix UI: 无障碍UI原语
- Axios: HTTP客户端
- WangEditor: 富文本编辑器
- Express: Node.js Web应用框架
- Prisma: 下一代ORM
- PostgreSQL: 关系型数据库
- JWT: 用户认证
- bcrypt: 密码加密
- TypeScript: 类型安全的JavaScript超集
系统采用前后端分离架构:
- 前端:Next.js应用,提供SSR和客户端渲染
- 后端:Express API服务,提供数据和业务逻辑
- 数据库:PostgreSQL,通过Prisma ORM进行交互
- 首页展示
- 文章列表和详情
- 分类浏览
- 搜索功能
- 用户评论
- 管理员登录和权限控制
- 文章管理(创建、编辑、删除、发布)
- 分类管理
- 用户管理
- 文件上传和管理
- 系统设置
- Node.js 18+
- PostgreSQL 14+
- npm 或 pnpm
- 克隆仓库
git clone https://github.com/yourusername/Next-CMS.git
cd Next-CMS- 安装依赖
# 安装前端依赖
cd frontend
pnpm install
# 安装后端依赖
cd ../backend
pnpm install- 配置环境变量
在backend目录下创建.env文件:
DATABASE_URL="postgresql://username:password@localhost:5432/nextcms"
JWT_SECRET="your-jwt-secret"
NODE_ENV="development"
在frontend目录下创建.env.local文件:
NEXT_PUBLIC_API_URL="http://localhost:3888"
- 初始化数据库
cd backend
pnpm run db:generate
pnpm run db:migrate
pnpm run init-db # 初始化基础数据- 启动应用
# 启动后端
cd backend
pnpm run dev # 开发模式,端口3888
# 启动前端
cd frontend
pnpm run dev # 开发模式,端口3666- 访问应用
项目提供了Docker配置,可以使用Docker进行部署:
# 构建并启动容器
docker-compose up -d- 构建前端
cd frontend
pnpm run build
pnpm run start- 构建后端
cd backend
pnpm run build
pnpm run start:prod- Fork 项目
- 创建特性分支 (
git checkout -b feature/amazing-feature) - 提交更改 (
git commit -m 'Add some amazing feature') - 推送到分支 (
git push origin feature/amazing-feature) - 创建Pull Request
本项目采用 MIT 许可证 - 详情请参阅 LICENSE 文件
如有任何问题或建议,请通过以下方式联系我们:
- 项目仓库:GitHub Issues
- 电子邮件:your-email@example.com