Witaj!
Techniczne zadanie (TZ) na opracowanie platformy do integracji z API Coinbase (platforma pośrednicząca)
Ogólne informacje
Stworzyć platformę do świadczenia użytkownikom usług handlu i przechowywania kryptowalut za pośrednictwem API Coinbase. Platforma będzie działać jako pośrednik, zapewniając interfejs do pracy z Coinbase bez konieczności bezpośredniej interakcji użytkowników z samym Coinbase.
Cele i zadania
1. Integracja z API Coinbase w celu:
• Handlu kryptowalutami (kupno/sprzedaż).
• Przechowywania aktywów (depozyty i wypłaty).
• Uzyskiwania danych rynkowych (ceny, wolumeny, zlecenia).
2. Realizacja interfejsu użytkownika do pracy z platformą:
• Rejestracja i autoryzacja użytkowników.
• Zarządzanie portfelem: salda, historia transakcji.
• Składanie zleceń i śledzenie ich statusu.
3. Zapewnienie bezpieczeństwa danych i interakcji.
4. Wdrożenie podstawowych procedur KYC/AML (Know Your Customer / Anti-Money Laundering).
Podstawowe funkcje
1. Interfejs użytkownika
1. Rejestracja i autoryzacja:
• Możliwość rejestracji z potwierdzeniem przez email.
• Autoryzacja z użyciem dwuskładnikowej autoryzacji (2FA).
2. Dashboard użytkownika:
• Przegląd aktualnego salda (we wszystkich obsługiwanych kryptowalutach).
• Historia transakcji (depozyty, wypłaty, zlecenia).
• Informacje o otwartych zleceniach.
3. Interfejs handlowy:
• Wybór pary handlowej (na przykład BTC/USD).
• Składanie zleceń (limitowe, rynkowe).
• Przegląd danych rynkowych (wykresy, książka zleceń).
4. Depozyty i wypłaty:
• Generowanie adresów do depozytów kryptowalut.
• Możliwość wypłaty środków na zewnętrzne portfele.
2. Integracja z API Coinbase
1. Autoryzacja w API:
• Użycie OAuth2 do interakcji z API Coinbase.
• Przechowywanie tokenów dostępu użytkowników.
2. Praca z portfelami:
• Uzyskiwanie listy obsługiwanych aktywów i ich sald.
• Generowanie adresów do depozytów.
• Inicjowanie wypłat środków.
3. Praca z zleceniami:
• Tworzenie zleceń rynkowych i limitowych.
• Śledzenie statusu zleceń.
• Anulowanie aktywnych zleceń.
4. Uzyskiwanie danych rynkowych:
• Aktualne ceny dla par handlowych.
• Informacje o płynności (głębokość książki zleceń).
• Dane historyczne do budowy wykresów.
3. Panel administracyjny
1. Zarządzanie użytkownikami:
• Przegląd listy użytkowników.
• Statystyki transakcji.
• Blokowanie/odblokowywanie kont.
2. Monitorowanie operacji:
• Logi operacji (depozyty, wypłaty, zlecenia).
• Narzędzia do ręcznej weryfikacji transakcji.
3. Ustawienia platformy:
• Ustalanie prowizji za handel, wpłaty/wypłaty środków.
• Zarządzanie obsługiwanymi aktywami.
Wymagania techniczne
1. Integracja z API Coinbase
• Używać oficjalnych bibliotek Coinbase do pracy z API:
• Coinbase API (główne)
• Coinbase Pro API (handel)
• Skonfigurować OAuth2 do autoryzacji użytkowników.
2. Stos technologiczny
• Backend: Python (Django, Flask) lub Node.js.
• Frontend: React.js lub Vue.js.
• Baza danych: PostgreSQL lub MySQL.
• Hosting: AWS, Google Cloud lub inny dostawca chmurowy.
• Bezpieczeństwo API:
• Wszystkie zapytania przez HTTPS.
• Przechowywanie kluczy i tokenów w zabezpieczonych magazynach (na przykład AWS Secrets Manager).
3. Bezpieczeństwo
• Dwuskładnikowa autoryzacja (2FA).
• Szyfrowanie danych użytkowników.
• Regularne logi i monitorowanie transakcji w celu zapobiegania oszustwom.
4. KYC/AML
• Integracja z dostawcami weryfikacji użytkowników (na przykład Jumio, Onfido).
• Zbieranie podstawowych danych: paszport, adres, weryfikacja tożsamości.
Etapy rozwoju
1. Planowanie (1–2 tygodnie)
• Określenie funkcjonalności.
• Opracowanie architektury platformy.
2. Rozwój backendu (4–6 tygodni)
• Realizacja integracji z API Coinbase.
• Konfiguracja bazy danych.
• Realizacja logiki biznesowej (depozyty, wypłaty, zlecenia).
3. Rozwój frontendu (3–5 tygodni)
• Stworzenie interfejsu użytkownika.
• Integracja z backendem przez REST API.
4. Testowanie (2–3 tygodnie)
• Sprawdzenie działania API w testowym środowisku Coinbase.
• Testowanie bezpieczeństwa i wydajności.
5. Uruchomienie i wsparcie (1 tydzień + ciągłe)
• Wdrożenie na serwerze.
• Monitorowanie i naprawa błędów.
Dokumenty do dostarczenia
1. Kod z komentarzami.
2. Dokumentacja API do użytku wewnętrznego.
3. Dokumentacja techniczna dotycząca wdrożenia platformy.
4. Rekomendacje dotyczące bezpieczeństwa i aktualizacji.
Wymagania dla deweloperów
• Doświadczenie w pracy z REST API (preferowane Coinbase).
• Znajomość OAuth2 i pracy z tokenami.
• Doświadczenie w tworzeniu bezpiecznych aplikacji finansowych.
• Umiejętności pracy z wybranym stosem technologicznym.
Rezultat
Platforma gotowa do użytku, która zapewnia użytkownikom interfejs do handlu i zarządzania aktywami poprzez integrację z API Coinbase, z uwzględnieniem wszystkich wymagań dotyczących bezpieczeństwa i wygody użytkowania.