初始版本

This commit is contained in:
z66
2025-12-26 13:42:22 +08:00
parent ddb90d6c20
commit b495bc1dca
43 changed files with 2179 additions and 20 deletions
+179
View File
@@ -0,0 +1,179 @@
# 个人博客网站
基于 FastAPI + Vue 3 开发的全栈个人博客网站项目。
## 项目结构
```
blogweb/
├── backend/ # 后端代码
│ ├── app/
│ │ ├── api/ # API 路由
│ │ │ └── api_v1/
│ │ │ ├── endpoints/ # API 端点
│ │ │ └── api.py
│ │ ├── core/ # 核心配置
│ │ │ ├── config.py
│ │ │ └── security.py
│ │ ├── db/ # 数据库相关
│ │ │ ├── base.py
│ │ │ ├── session.py
│ │ │ └── init_db.py
│ │ ├── models/ # 数据模型
│ │ ├── schemas/ # Pydantic 模式
│ │ └── main.py # FastAPI 应用入口
│ ├── database.py # (旧文件,可删除)
│ ├── models.py # (旧文件,可删除)
│ └── init_db.py # (旧文件,可删除)
├── frontend/ # 前端代码
│ ├── src/
│ │ ├── views/ # 页面组件
│ │ ├── stores/ # Pinia 状态管理
│ │ ├── router/ # 路由配置
│ │ ├── App.vue
│ │ └── main.js
│ ├── package.json
│ └── vite.config.js
├── main.py # 项目启动入口
├── requirements.txt # Python 依赖
└── README.md
```
## 功能特性
### 已完成
- ✅ 用户注册和登录(JWT 认证)
- ✅ 待办事项管理(CRUD
- ✅ 博客文章发布(CRUD
### 开发中
- 🚧 天气查询
- 🚧 个人记账本
- 🚧 书影音收藏
- 🚧 实时聊天室(WebSocket
- 🚧 文件上传
## 快速开始
### 1. 安装后端依赖
```bash
pip install -r requirements.txt
```
### 2. 初始化数据库
```bash
# 从项目根目录运行
python -m app.db.init_db
```
或者:
```bash
cd backend/app/db
python init_db.py
```
如果需要重置数据库(⚠️ 会删除所有数据):
```bash
python -m app.db.init_db --reset
```
### 3. 配置环境变量
复制 `.env.example``.env` 并修改配置:
```bash
cp .env.example .env
```
### 4. 启动后端服务
```bash
# 方式1:使用 uvicorn 直接运行
uvicorn app.main:app --reload --host 0.0.0.0 --port 8000
# 方式2:使用项目入口文件
python main.py
```
后端服务将在 `http://localhost:8000` 启动。
API 文档:`http://localhost:8000/docs`
### 5. 安装前端依赖
```bash
cd frontend
npm install
```
### 6. 启动前端服务
```bash
npm run dev
```
前端服务将在 `http://localhost:5173` 启动。
## 开发路线图
本项目按照以下阶段逐步开发:
1. **阶段 1**:静态页面 + TodoList(无用户)✅
2. **阶段 2**:博客系统(公开)✅
3. **阶段 3**:用户系统 + 权限隔离 ✅
4. **阶段 4**:天气查询 + 个人记账本 🚧
5. **阶段 5**:书影音收藏站 🚧
6. **阶段 6**:聊天室(WebSocket) + 文件上传 🚧
## 技术栈
### 后端
- FastAPI - 现代、快速的 Web 框架
- SQLModel - 基于 SQLAlchemy 和 Pydantic 的 ORM
- SQLite - 开发环境数据库
- JWT - 用户认证
- Pydantic - 数据验证
### 前端
- Vue 3 - 渐进式 JavaScript 框架
- Vue Router - 路由管理
- Pinia - 状态管理
- Axios - HTTP 客户端
- Vite - 构建工具
## API 端点
### 认证
- `POST /api/v1/auth/register` - 用户注册
- `POST /api/v1/auth/login` - 用户登录
### 用户
- `GET /api/v1/users/me` - 获取当前用户信息
- `GET /api/v1/users/` - 获取用户列表
### 待办事项
- `GET /api/v1/todos/` - 获取待办事项列表
- `POST /api/v1/todos/` - 创建待办事项
- `GET /api/v1/todos/{id}` - 获取单个待办事项
- `PUT /api/v1/todos/{id}` - 更新待办事项
- `DELETE /api/v1/todos/{id}` - 删除待办事项
### 博客文章
- `GET /api/v1/posts/` - 获取文章列表
- `POST /api/v1/posts/` - 创建文章
- `GET /api/v1/posts/{id}` - 获取单个文章
- `PUT /api/v1/posts/{id}` - 更新文章
- `DELETE /api/v1/posts/{id}` - 删除文章
## 数据库设计
详见 `数据库设计说明.md`
## 许可证
MIT