Учебный проект на FastAPI с реализацией слоистой архитектуры и JWT-аутентификации.
- получить одного пользователя
- получить нескольких пользователей по списку id
- получить всех пользователей
- создать одного пользователя
- создать нескольких пользователей
- обновить пользователя
- удалить пользователя
- регистрация пользователя
- вход пользователя
- выдача access token
- выдача refresh token
- обновление access token через refresh token
- JWT auth через dependencies
- JWT auth через middleware
- FastAPI
- Pydantic
- pydantic-settings
- PyJWT
- pytest
- uv
src/
├── apps/
│ ├── user/
│ │ ├── schemas.py
│ │ ├── services.py
│ │ ├── repository.py
│ │ └── routers.py
│ └── auth/
│ ├── schemas.py
│ ├── services.py
│ ├── connector.py
│ ├── dependencies.py
│ ├── middleware.py
│ ├── utils.py
│ └── routers.py
├── routers/
│ └── api_v1_router.py
├── settings/
│ └── settings.py
├── utils/
│ └── store.py
└── main.py
uv sync
uv run uvicorn src.main:app --reloaduv run pytest -v tests/test_app.pyВ качестве учебной базы данных используется Store с доступом через контекстный менеджер.