Skip to content

这是一个基于Next.js、Express构建的现代化CMS系统,可用于企业官网。

Notifications You must be signed in to change notification settings

AnsonZnl/Next-CMS

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

3 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Next-CMS 内容管理系统

这是一个基于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

安装步骤

  1. 克隆仓库
git clone https://github.com/yourusername/Next-CMS.git
cd Next-CMS
  1. 安装依赖
# 安装前端依赖
cd frontend
pnpm install

# 安装后端依赖
cd ../backend
pnpm install
  1. 配置环境变量

在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"
  1. 初始化数据库
cd backend
pnpm run db:generate
pnpm run db:migrate
pnpm run init-db  # 初始化基础数据
  1. 启动应用
# 启动后端
cd backend
pnpm run dev  # 开发模式,端口3888

# 启动前端
cd frontend
pnpm run dev  # 开发模式,端口3666
  1. 访问应用

部署

Docker部署

项目提供了Docker配置,可以使用Docker进行部署:

# 构建并启动容器
docker-compose up -d

传统部署

  1. 构建前端
cd frontend
pnpm run build
pnpm run start
  1. 构建后端
cd backend
pnpm run build
pnpm run start:prod

贡献指南

  1. Fork 项目
  2. 创建特性分支 (git checkout -b feature/amazing-feature)
  3. 提交更改 (git commit -m 'Add some amazing feature')
  4. 推送到分支 (git push origin feature/amazing-feature)
  5. 创建Pull Request

许可证

本项目采用 MIT 许可证 - 详情请参阅 LICENSE 文件

联系方式

如有任何问题或建议,请通过以下方式联系我们:

About

这是一个基于Next.js、Express构建的现代化CMS系统,可用于企业官网。

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published