Wallet Chek

Этот проект реализует REST API для работы с пользовательскими кошельками: создание, просмотр баланса, внесение и снятие средств. Проект спроектирован с учетом тестируемости, масштабируемости и современного стека Python.

Python PosgreSQL FastAPI SQL Docker Docker Compose alembic uv httpx Pydantic Pytest Pytest-asyncio SQLAlchemy UUID
Дата:
Возможности API

- Создание кошелька с начальным балансом
- Получение баланса по UUID кошелька
- Пополнение и списание (операции с кошельком)

Быстрый старт

1. Клонирование репозитория

git clone https://github.com/DenisSedovEd/wallet_tt.git

cd wallet_tt

2. Настройка переменных окружения

POSTGRES_USER=wallet_user
POSTGRES_PASSWORD=wallet_pass
POSTGRES_DB=wallet_db
POSTGRES_HOST=db
POSTGRES_PORT=5432

скопируйте `.env.example` в `.env` и при необходимости измените значения:

3. Запуск через Docker Compose

docker-compose up --build

- Приложение будет доступно на: [http://localhost:8000](http://localhost:8000)
- Swagger UI: [http://localhost:8000/docs](http://localhost:8000/docs)

Примеры запросов

Создание кошелька

POST /api/v1/wallets/
Content-Type: application/json

{
  "balance": "100.00"
}

Получение баланса

GET /api/v1/wallets/{wallet_uuid}

Операция (пополнение/списание)

POST /api/v1/wallets/{wallet_uuid}/operation?operation_type=DEPOSIT&amount=100