https://github.com/fivan999/fastapi_users_service
Cервис для работы с пользователями на FastAPI
https://github.com/fivan999/fastapi_users_service
docker docker-compose fastapi jwt poetry pytest python sqlalchemy
Last synced: 4 months ago
JSON representation
Cервис для работы с пользователями на FastAPI
- Host: GitHub
- URL: https://github.com/fivan999/fastapi_users_service
- Owner: fivan999
- Created: 2024-07-05T15:06:28.000Z (about 1 year ago)
- Default Branch: main
- Last Pushed: 2025-02-22T12:59:42.000Z (4 months ago)
- Last Synced: 2025-02-22T13:45:48.528Z (4 months ago)
- Topics: docker, docker-compose, fastapi, jwt, poetry, pytest, python, sqlalchemy
- Language: Python
- Homepage:
- Size: 296 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. Установить [Poetry](https://python-poetry.org/docs/)
3. Установить зависимости через Poetry
```bash
poetry install --with dev --with test
```
4. Установить [pre-commit](https://pre-commit.com/) хуки:```bash
poetry run pre-commit install --install-hooks -t pre-commit -t commit-msg
```
### Запустить проект
```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"
```