9e25623cf6972575f75024263abb25fe32eb8ab7
技术论坛与技术分享网站
技术交流、工具分享、问答讨论社区
功能特点
📝 技术交流
- 发布技术讨论帖子
- 评论回复互动
- 点赞收藏
- 标签分类
🔧 工具分享
- 创建工具/框架分享主题
- 子主题分支讨论
- 问题追问功能
- 关注感兴趣的主题
👤 用户系统
- 用户名注册
- 邮箱(必填)
- 手机号(可选)
- 密码确认
🔐 后台管理
- 管理员登录验证
- 用户管理
- 帖子管理(置顶、删除)
- 主题管理
- 数据统计
快速开始
安装依赖
pip install -r requirements.txt
配置(可选)
可以创建 config.local.py 覆盖默认配置:
# 管理员账户
ADMIN_USERNAME = 'your_admin'
ADMIN_PASSWORD = 'your_password'
# 或使用环境变量
export TECH_FORUM_ADMIN_USER='your_admin'
export TECH_FORUM_ADMIN_PASS='your_password'
启动主服务
python backend/app.py
访问地址: http://localhost:19004
启动后台管理
python admin/app.py
后台地址: http://localhost:19005
默认账号: admin / admin123
项目结构
tech-forum/
├── config.py # 配置文件
├── models.py # 数据库模型(SQLite)
├── backend/
│ └── app.py # Flask后端API
├── frontend/
│ ├── index.html # 首页
│ ├── login.html # 登录
│ ├── register.html # 注册
│ ├── create.html # 发帖
│ ├── post.html # 帖子详情
│ ├── topic.html # 主题详情
│ └── user.html # 用户主页
├── admin/
│ ├── app.py # 后台管理(带登录验证)
│ └── templates/
│ ├── index.html # 仪表盘
│ ├── login.html # 管理员登录
│ ├── users.html # 用户管理
│ ├── posts.html # 帖子管理
│ └── topics.html # 主题管理
├── data/
│ └ tech_forum.db # SQLite数据库(自动创建)
└── uploads/ # 上传文件
API接口
用户认证
- POST /api/register - 注册
- POST /api/login - 登录
- GET /api/user - 获取当前用户
帖子
- GET /api/posts - 获取帖子列表
- POST /api/posts - 发布帖子
- GET /api/posts/:id - 获取帖子详情
- POST /api/posts/:id/reply - 回复帖子
- POST /api/posts/:id/like - 点赞
主题
- GET /api/topics - 获取主题列表
- POST /api/topics - 创建主题
- GET /api/topics/:id - 获取主题详情
- POST /api/topics/:id/subtopic - 添加子主题
- POST /api/topics/:id/question - 提问
- POST /api/topics/:id/question/:qid/answer - 回答问题
- POST /api/topics/:id/follow - 关注主题
其他
- GET /api/tags - 获取热门标签
- GET /api/search - 搜索
安全改进
v1.1.0 重构内容
-
后台登录验证
- 所有后台API需要管理员登录
- Session + JWT双重验证
- 未登录自动跳转登录页
-
配置文件分离
- 敏感信息移至
config.py - 支持环境变量覆盖
- SECRET_KEY 自动随机生成
- 敏感信息移至
-
SQLite数据库
- 替换JSON文件存储
- 解决并发写入问题
- 数据关系完整性
-
API密钥保护
- LLM密钥从代码移至配置
- 支持环境变量设置
版本历史
v1.1.0 (2026-04-12)
- 重构:后台添加登录验证
- 重构:JSON存储改为SQLite数据库
- 重构:API密钥移至配置文件
- 修复:SECRET_KEY改为随机生成
- 新增:管理员登录页面
v0.1.0 (2026-04-08)
- 初始版本
- 技术交流帖子功能
- 工具分享主题功能
- 用户注册登录
- 评论回复点赞
License
MIT
Description
Languages
HTML
63.1%
Python
36.9%