codingclub-backend/
│
├── app/
│ ├── __init__.py
│ ├── main.py
│ ├── config.py
│ ├── models.py
│ ├── database.py
│ ├── auth.py
│ ├── crud.py
│ ├── schemas.py
│ └── routers/
│ ├── __init__.py
│ ├── items.py
│ └── users.py
│
├── .env
-
app/: 这是项目的主应用目录,包含所有的应用逻辑和代码。
-
__init__.py: 使目录成为一个 Python 包。 -
main.py: 应用的入口文件,创建 FastAPI 实例并包含路由注册。
-
config.py: 配置文件,用于存储应用的配置变量,比如数据库连接字符串、Authing 配置等。
-
models.py: 定义 SQLAlchemy 模型。
-
database.py: 数据库连接和会话管理。
-
auth.py: 处理 Authing OIDC 的相关逻辑。
-
crud.py: 定义基本的 CRUD 操作,分离数据访问逻辑。
-
schemas.py: 定义 Pydantic 模型,用于数据验证和序列化。
-
routers/: 存放不同功能模块的路由文件。
-
items.py: 处理与
Item相关的 API 路由。 -
users.py: 处理与
User相关的 API 路由(用户功能)。
-
-
-
.env: 存储环境变量,比如数据库连接信息、Authing 凭据等。
sudo apt update
sudo apt install uv
uv python installgit clone https://github.com/Amazingkenneth/codingclub-backend.git
cd ./codingclub-backend
uv venv
source ./.venv/bin/activate
uv pip install poetry
poetry install记得先配置根目录下的 .env 文件来连接数据库
cd ./app
python -m main接下来就可以在 http://localhost:9000/docs 上面看到 Swagger UI 生成的 API 文档。
在开发和运行过程中,可能会遇到一些常见的错误。以下是一些错误及其解决方法:
解决方法: 确保在项目的根目录下有一个 .env 文件,并且该文件中包含正确的数据库连接字符串。例如:
DATABASE_URL=postgresql://user:password@localhost/dbname