Back office brokera kryptowalut
Platforma API back office dla brokera handlującego kryptowalutami. Zarządza realizacją transakcji, portfelami kont, aktualizacjami pozycji w czasie rzeczywistym poprzez Kafka, strukturami prowizji oraz wielformatowym raportowaniem finansowym.
🔒 Praca prywatna / dla klienta — działająca strona i kod objęte są NDA. Chętnie omówię architekturę i moją rolę podczas rozmowy.
Przegląd projektu
System back office klasy produkcyjnej zasilający platformę brokerską kryptowalut. Obsługuje provisioning kont, śledzenie sald i pozycji, rozliczanie transakcji, zarządzanie prowizjami oraz logowanie audytowe na potrzeby compliance. Usługa przetwarza zdarzenia rynkowe w czasie rzeczywistym poprzez Apache Kafka i udostępnia w pełni udokumentowane REST API konsumowane przez frontend transakcyjny.
Kluczowe funkcje
- Zarządzanie kontami ze śledzeniem portfela, kalkulacjami P&L i historią pozycji
- Przetwarzanie transakcji i zleceń w czasie rzeczywistym przez konsumentów Kafka
- Kreator prowizji — konfigurowalne struktury prowizji z dynamicznymi obliczeniami
- Asynchroniczne generowanie raportów (CSV, Excel, PDF) przesyłanych do MinIO/S3
- Workery Celery z harmonogramem beat do zadań w tle i zadań okresowych
- Ścieżka audytu i logowanie compliance dla wszystkich operacji na kontach
- Automatycznie generowana dokumentacja Swagger/OpenAPI
- Endpoint metryk Prometheus i rozproszone śledzenie Jaeger
- Monitorowanie health check we wszystkich zależnościach usługi
- Przepływy transferów wewnętrznych i zatwierdzeń między kontami
Architektura
Architektura wielousługowa orkiestrowana za pomocą Docker Compose: Django API (Gunicorn), dedykowana usługa konsumenta Kafka, workery Celery, PostgreSQL, Redis do cache'owania i brokerowania zadań oraz MinIO do przechowywania plików. Integruje się z zewnętrzną usługą dostawcy płynności w celu pobierania danych rynkowych. Wdrożenie w środowiskach dev, QA i produkcyjnym z osobną konfiguracją dla każdego etapu.