这是一个我用 FastAPI 做的内容社区后端项目。
项目主要围绕常见业务后端场景展开,包括用户注册登录、帖子发布、评论、点赞、搜索、分页和鉴权等功能。
这个项目的重点是把一个比较完整的社区后端链路走通,而不是只做几个简单的 CRUD 接口。
- 支持用户注册、登录和 JWT 鉴权
- 支持发帖、更新、评论、点赞等社区基础功能
- 支持分类、搜索和分页
- 使用 SQLAlchemy 处理多表关系与查询
- 支持帖子摘要自动生成和失败兜底逻辑
- Python
- FastAPI
- SQLAlchemy
- Pydantic
- SQLite
- JWT
- 用户注册与登录
- JWT 鉴权
- 基础权限控制
- 发布帖子
- 更新帖子
- 评论
- 点赞
- 分类管理
- 支持搜索
- 支持分页
- 支持帖子详情加载
- 使用 relationship 处理数据关系
- 使用 joinedload 优化部分查询
- 评论支持逻辑删除
- 帖子支持 AI 摘要生成与失败兜底
.
├── main.py
├── config.py
├── database.py
├── models.py
├── schemas.py
├── routers/
│ ├── auth.py
│ ├── posts.py
│ ├── comments.py
│ └── ...
└── services/
POST /auth/register/POST /auth/login/GET /auth/user/me/
POST /posts/GET /posts/GET /posts/me/GET /posts/{post_id}/PATCH /posts/{post_id}/DELETE /posts/{post_id}/POST /posts/categories/
POST /posts/{post_id}/comments/GET /posts/{post_id}/comments/DELETE /posts/{post_id}/comments/{comment_id}/POST /vote/
可以测试这些典型流程:
- 注册用户
- 登录获取 token
- 使用 token 发帖
- 评论帖子
- 点赞帖子
- 搜索帖子并分页查看结果
这个项目里我主要自己完成了这些部分:
- 注册登录与 JWT 鉴权
- 帖子、评论、点赞相关接口
- 搜索与分页逻辑
- SQLAlchemy 多表关系与查询处理
- 评论逻辑删除
- 帖子摘要生成与失败兜底
这个项目让我更熟悉了标准业务后端里常见的鉴权、数据关系和接口设计问题。
pip install -r requirements.txt参考 .env.example
python -m uvicorn main:app --reload

