Skip to content

Amazingkenneth/codingclub-backend

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

4 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

codingclub-backend

English Documentation

文件和目录说明

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 install

拉取代码并安装依赖

git 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 文档。

错误处理

在开发和运行过程中,可能会遇到一些常见的错误。以下是一些错误及其解决方法:

sqlalchemy.exc.ArgumentError: Expected string or URL object, got None

解决方法: 确保在项目的根目录下有一个 .env 文件,并且该文件中包含正确的数据库连接字符串。例如:

DATABASE_URL=postgresql://user:password@localhost/dbname

About

No description, website, or topics provided.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages