项目简介
本项目采用前后端分离架构,前端借助React和Redux开发,后端使用Flask和SQLAlchemy进行数据库操作,是一个功能丰富的个人博客系统。系统支持用户注册、登录、文章发布、评论回复等功能,同时能以Markdown格式展示文章内容。
项目的主要特性和功能
- 用户认证:提供用户注册、登录和登出功能。
- 文章管理:支持Markdown格式的文章内容,具备文章分类和分页浏览功能。
- 评论系统:可对文章进行评论,并对评论进行回复。
- 相册展示:支持用户上传图片并展示在文章中,使用lightbox进行图片查看。
安装使用步骤
配置环境变量
修改backend/application/.env
文件,设置数据库相关的环境变量:
```shell
DATABASE_USER=root
DATABASE_PASS=your_database_password
DATABASE_HOST=localhost
DATABASE_PORT=3306
DATABASE_NAME=your_database_name
TEST_DATABASE_NAME=your_test_database_name
MYSQL_USER=root MYSQL_ROOT_PASSWORD=your_database_password ```
开发环境
- 前端:进入
webapp
目录,运行npm start
启动前端开发服务器。 - 后端:进入
backend
目录,运行flask run
启动后端开发服务器。
生产环境
- 构建:进入
webapp
目录,运行docker-compose -f docker-compose.prod.yml build
构建Docker镜像。 - 运行:运行
docker-compose -f docker-compose.prod.yml up
启动生产环境容器。 - 初始化数据库:在容器启动后,运行以下命令初始化数据库:
shell docker exec backend flask initdb docker exec backend flask mockdb
测试
进入webapp/backend
目录,激活虚拟环境后运行pytest
进行测试。
下载地址
点击下载 【提取码: 4003】【解压密码: www.makuang.net】