这是一个使用 Django + Django REST Framework (DRF) 插件作为后端,使用 React(使用 TypeScript)作为前端的类 [X.com](https://x.com) 的微博客网络社交平台实现。
### ✨ 特性
- 主要元素:用户(User)、帖子(Post)、话题(Topic)、评论(Comment)、私信(Chat)
- 拥有**个性化**的用户和话题**推荐**界面
- 用户可个性化设置自己的**个人主页**
- 拥有**综合搜索**功能
- 拥有**通知**功能(点赞、评论、关注)
- 注册界面**密码复杂度要求**
- 帖子可包含**文字、图片、视频,以及可关联话题**
- 帖子可设置**可见性**
- 用户登录功能支持**验证器**方式([TOTP](https://en.wikipedia.org/wiki/Time-based_one-time_password))的双重验证
- 带**管理面板**,管理员可管理帖子、用户、话题、评论、私信等
- 现代化美丽的 UI 界面(使用 [HeroUI](https://www.heroui.com/) 组件库)
本项目基于**前后端分离架构**设计实现现代化网络社交平台,核心技术栈为后端Django+DRF、前端React+TypeScript+Vite,遵循OpenAPI规范实现前后端协同,引入TOTP双重认证提升安全等级,整体采用模块化设计,兼顾可维护性、扩展性与跨平台性。
后端以Django为核心,依托其ORM机制实现数据库全生命周期管理,通过DRF构建RESTful API,结合drf-spectacular生成OpenAPI模式文件,实现接口标准化;自定义条件权限类与对象级权限控制,保障数据访问安全,同时利用Django信号机制实现通知、推荐等功能的事件触发。数据层支持SQLite、MySQL、PostgreSQL等主流关系型数据库,采用模块化数据访问层,适配多场景部署。
前端基于React+TypeScript+Vite开发,通过OpenAPI-TS库对接后端OpenAPI规范,实现接口类型自动生成与校验,降低前后端联调成本;使用Virtuoso库实现滚动懒加载与自动翻页,结合HeroUI、Chat UI Kit React组件库快速构建高交互性界面,通过自定义页面加载器类实现后端接口懒加载,优化前端性能。
系统核心设计思路为**高内聚低耦合**,拆解为注册登录、帖子、话题、推荐、通知、私信等11大功能模块,前后端通过标准化API通信,实现功能模块化开发与独立迭代。推荐模块基于用户行为数据(关注、订阅、点赞、发帖)设计关联推荐算法,实现用户与话题的个性化推荐;身份认证融合Token持久化与TOTP动态验证码,实现无感化双重验证;后台依托Django Admin实现快速开发,支持细粒度权限分配、操作日志追溯与多维度数据管理。
项目还实现了帖子多维度可见性控制、前端组件与接口双重懒加载、跨CPU架构与操作系统的部署兼容,通过功能、兼容性、数据库多维度测试验证系统稳定性,整体技术方案解决了传统社交平台可维护性差、安全防护不足、界面陈旧等问题,满足现代社交圈层化、多样化交互的需求。