Skip to content

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

200 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Credit Card Backend API

Описание

Проект представляет собой простой бэкенд для кредитной карты с возможностью изменения лимита по верификации фото (реализовано с помощью DeepFace). Проект состоит из трёх микросервисов:

  1. Auth: Служит для аутентификации пользователей и проксирования запросов.
  2. Balance: Отвечает за операции с кредитной картой.
  3. Verify: Сравнивает две фотографии (ожидаемо, документ и селфи) для верификации. При совпадении повышает кредитный лимит, при несовпадении — уменьшает.

Запуск проекта

Детальная инструкция по запуску проекта находится в CONTRIBUTING.md. Проект может быть развернут как в Kubernetes, так и локально с использованием Docker Compose.

API Endpoints

  • /api/auth: Авторизация на сервисе Auth.
  • /api/withdrawal: Снятие средств с карты.
  • /api/deposit: Пополнение средств на карте.
  • /api/verify: Верификация пользователя.
  • /api/balance: Просмотр текущего баланса карты.
  • /api/balance/history: Просмотр истории операций по карте.
  • /ready: Readiness probe для Kubernetes.
  • /live: Liveness probe для Kubernetes.

Инструменты и зависимости

  • Python: Версия 3.10.
  • DeepFace: Фреймворк для сравнения фотографий.
  • Poetry: Управление зависимостями проекта.
  • Kafka & Zookeeper: Для передачи сообщений между микросервисами.
  • PostgreSQL: В качестве базы данных.
  • Kubernetes: Манифесты находятся в папке k8s. Также доступны Helm charts в папке gran-cc.
  • Docker & Docker Compose: Конфигурации и манифесты находятся в папке docker.
  • Alembic: Для миграции баз данных.
  • Prometheus & Jaeger: Мониторинг и трейсинг для Kubernetes.
  • Pytest: Код покрыт тестами.
  • wemake-python-styleguide & mypy Как основные линтеры.

About

Python postgresql docker kafka k8s(helm) simple credit card api as a test project for some company.

Topics

Resources

Contributing

Stars

0 stars

Watchers

1 watching

Forks

Releases

Packages

Used by

Contributors

Languages