https://github.com/fivan999/fastapi_users_service
Cервис для работы с пользователями на FastAPI
https://github.com/fivan999/fastapi_users_service
ddd-architecture docker docker-compose fastapi jwt postgresql pytest python sqlalchemy uv
Last synced: about 1 month ago
JSON representation
Cервис для работы с пользователями на FastAPI
- Host: GitHub
- URL: https://github.com/fivan999/fastapi_users_service
- Owner: fivan999
- Created: 2024-07-05T15:06:28.000Z (over 1 year ago)
- Default Branch: main
- Last Pushed: 2025-05-31T13:09:37.000Z (6 months ago)
- Last Synced: 2025-06-01T01:18:23.272Z (6 months ago)
- Topics: ddd-architecture, docker, docker-compose, fastapi, jwt, postgresql, pytest, python, sqlalchemy, uv
- Language: Python
- Homepage:
- Size: 679 KB
- Stars: 1
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
# Cервис для работы с пользователями на FastAPI
## Установка и запуск
### Склонировать репозиторий
```
git clone https://github.com/fivan999/fastapi_users_service
```
### Конфигурация
Создайте .env файл в корне проекта (пример .env файла - .env.example)
В нем нужно указать значения:
- JWT_SECRET_KEY (секретный ключ для генерации jwt токена)
- POSTGRES_DB (имя базы данных)
- POSTGRES_HOST (хост базы данных)
- POSTGRES_USER (имя пользователя базы данных)
- POSTGRES_PASSWORD (пароль базы данных, по умолчанию - password)
- POSTGRES_PORT (порт базы данных)
- ACCESS_TOKEN_EXPIRE_SECONDS (время валидности access токена в секундах)
- REFRESH_TOKEN_EXPIRE_SECONDS (время валидности refresh токена в секундах)
### Для разработки
1. Установить [Python 3.12](https://www.python.org/downloads/)
2. Установить [uv](https://docs.astral.sh/uv/)
3. Установить зависимости через uv
```bash
uv sync
```
4. Установить [pre-commit](https://pre-commit.com/) хуки:
```bash
uv tool install pre-commit --with pre-commit-uv
```
### Запустить проект
```bash
docker compose up
```
### Запуск тестов
```bash
docker compose -f docker-compose-test.yml up -d --build
docker exec fastapi_app /bin/sh -c "pytest tests/ && exit"
```