提供基本前后端骨架
This commit is contained in:
118
README.md
118
README.md
@@ -1,2 +1,120 @@
|
||||
# SatoNano
|
||||
|
||||
云服务综合管理平台
|
||||
|
||||
## 功能特性
|
||||
|
||||
- ✅ 用户注册、登录、退出
|
||||
- ✅ JWT 令牌认证(Access + Refresh Token)
|
||||
- ✅ 密码修改
|
||||
- ✅ 用户信息管理
|
||||
- 🔜 邀请码注册
|
||||
- 🔜 OAuth2 第三方登录
|
||||
|
||||
## 技术栈
|
||||
|
||||
- **Web 框架**: FastAPI
|
||||
- **ORM**: SQLAlchemy 2.0 (异步)
|
||||
- **密码哈希**: Argon2
|
||||
- **认证**: JWT (PyJWT)
|
||||
- **数据验证**: Pydantic v2
|
||||
|
||||
## 快速开始
|
||||
|
||||
### 环境要求
|
||||
|
||||
- Python 3.12+
|
||||
- [uv](https://github.com/astral-sh/uv) (推荐)
|
||||
|
||||
### 安装
|
||||
|
||||
```bash
|
||||
# 克隆项目
|
||||
git clone <repo-url>
|
||||
cd SatoNano
|
||||
|
||||
# 安装依赖
|
||||
uv sync
|
||||
|
||||
# 配置环境变量(可选)
|
||||
cp .env.example .env
|
||||
# 编辑 .env 文件设置 SECRET_KEY 等配置
|
||||
```
|
||||
|
||||
### 启动服务
|
||||
|
||||
```bash
|
||||
# 开发模式(自动重载)
|
||||
uv run python main.py
|
||||
|
||||
# 或使用 uvicorn
|
||||
uv run uvicorn app.main:app --reload --host 0.0.0.0 --port 8000
|
||||
```
|
||||
|
||||
### 访问 API
|
||||
|
||||
- API 文档: http://localhost:8000/docs
|
||||
- ReDoc 文档: http://localhost:8000/redoc
|
||||
- 健康检查: http://localhost:8000/health
|
||||
|
||||
## API 接口
|
||||
|
||||
| 接口 | 方法 | 描述 |
|
||||
|------|------|------|
|
||||
| `/api/v1/auth/register` | POST | 用户注册 |
|
||||
| `/api/v1/auth/login` | POST | 用户登录 |
|
||||
| `/api/v1/auth/logout` | POST | 用户退出 |
|
||||
| `/api/v1/auth/refresh` | POST | 刷新令牌 |
|
||||
| `/api/v1/auth/change-password` | POST | 修改密码 |
|
||||
| `/api/v1/users/me` | GET | 获取当前用户 |
|
||||
| `/api/v1/users/me` | PATCH | 更新用户信息 |
|
||||
|
||||
详细文档请查看 [docs/auth-api.md](docs/auth-api.md)
|
||||
|
||||
## 项目结构
|
||||
|
||||
```
|
||||
app/
|
||||
├── api/ # API 路由层
|
||||
├── core/ # 核心功能(配置、安全、异常)
|
||||
├── models/ # 数据库模型
|
||||
├── repositories/ # 数据访问层
|
||||
├── schemas/ # 数据验证模式
|
||||
├── services/ # 业务逻辑层
|
||||
├── database.py # 数据库连接
|
||||
└── main.py # 应用入口
|
||||
```
|
||||
|
||||
详细架构说明请查看 [docs/architecture.md](docs/architecture.md)
|
||||
|
||||
## 开发
|
||||
|
||||
```bash
|
||||
# 安装开发依赖
|
||||
uv sync --dev
|
||||
|
||||
# 代码格式化
|
||||
uv run ruff format .
|
||||
|
||||
# 代码检查
|
||||
uv run ruff check .
|
||||
|
||||
# 运行测试
|
||||
uv run pytest
|
||||
```
|
||||
|
||||
## 配置说明
|
||||
|
||||
支持通过环境变量或 `.env` 文件配置:
|
||||
|
||||
| 变量 | 默认值 | 说明 |
|
||||
|------|--------|------|
|
||||
| `SECRET_KEY` | - | JWT 签名密钥(生产必改) |
|
||||
| `DEBUG` | false | 调试模式 |
|
||||
| `DATABASE_URL` | sqlite+aiosqlite:///./satonano.db | 数据库连接 |
|
||||
| `ACCESS_TOKEN_EXPIRE_MINUTES` | 30 | 访问令牌有效期 |
|
||||
| `REFRESH_TOKEN_EXPIRE_DAYS` | 7 | 刷新令牌有效期 |
|
||||
|
||||
## License
|
||||
|
||||
MIT
|
||||
|
||||
Reference in New Issue
Block a user