Gotowy szablon Web3: FastAPI + Web3 Crypto Auth (MetaMask) + PostgreSQL + Docker
Nowoczesne, wysokowydajne jądro REST API, zaprojektowane zgodnie z zasadami Clean Architecture z integracją uwierzytelniania przez podpis kryptograficzny portfeli Web3 (EVM / MetaMask / WalletConnect). Projekt jest w pełni konteneryzowany za pomocą Dockera i zoptymalizowany do natychmiastowego lokalnego wdrożenia lub produkcyjnego deploymentu.
Ten szablon został opracowany jako uniwersalna, bezpieczna i architektonicznie dopracowana podstawa (System Zarządzania Użytkownikami) do tworzenia platform P2P, usług arbitrażowych, kryptowalutowych rynków, rozwiązań Web3 SaaS oraz zdecentralizowanych aplikacji (dApps). Całkowicie eliminuje potrzebę pisania podstawowej logiki autoryzacji i profili od zera.
Cechy architektoniczne i stos technologiczny
1. Bezhasłowe uwierzytelnianie Web3: Zamiast klasycznego, podatnego na ataki połączenia email/hasło, zrealizowano kryptograficzną weryfikację publicznego klucza użytkownika na podstawie podpisu wiadomości (format EIP-191). Weryfikacja odbywa się natywnie na backendzie za pomocą bibliotek eth-account i eth-keys, co gwarantuje maksymalne bezpieczeństwo sesji.
2. Clean Architecture i Pydantic v2: Wyraźny podział odpowiedzialności warstw. Modele SQLAlchemy są całkowicie izolowane, praca z bazą danych oparta jest na niezależnych routerach, a walidacja danych wejściowych i wyjściowych opiera się na schematach Pydantic v2 (bez ręcznego zbierania słowników JSON w kontrolerach).
3. Standard UUID v7: Wszystkie podrzędne i powiązane encje systemu (profile, konfiguracje użytkowników) korzystają z nowoczesnych, uporządkowanych czasowo identyfikatorów UUID v7. To uniemożliwia atakującym przeszukiwanie inkrementalnych ID, ukrywa rzeczywiste rozmiary danych systemu i przyspiesza indeksację w PostgreSQL.
4. Atomowość i Lazy Initialization danych: Profile i konfiguracje systemowe są ściśle powiązane z użytkownikiem przez kaskadowe powiązania (ondelete="CASCADE"). Tworzenie pustego anonimowego profilu oraz domyślnych ustawień interfejsu odbywa się atomowo w ramach jednej transakcji w momencie pierwszego połączenia portfela, co eliminuje stan wyścigu danych (Race Condition).
5. Pełna automatyzacja Dockera i CI/CD: Infrastruktura jest całkowicie izolowana od systemu hosta. Skrypt wdrożeniowy automatycznie kontroluje dostępność PostgreSQL, a dyrektywa create_all niezawodnie inicjalizuje strukturę bazy danych. Zrealizowano automatyczny izolowany skrypt siewu bazy danych, który przy starcie kontenera sprawdza i wymusza tworzenie lub aktualizację praw superadministratora dla określonego administracyjnego portfela Web3.
6. Optymalizacja dla generatorów typów: Specyfikacja Swagger. Trasy REST są w pełni gotowe do bezkonfliktowej automatycznej generacji rygorystycznych typów frontendowych (TypeScript) za pomocą narzędzi Orval lub OpenAPI-codegen.
Dostępna specyfikacja REST punktów końcowych
Uwierzytelnianie:
POST /api/v1/auth/connect: Weryfikacja podpisu kryptograficznego wiadomości i wydanie bezterminowego tokena sesji JWT Bearer. Automatycznie rejestruje nowy portfel, jeśli nie ma go w bazie.
Zarządzanie kontem Web3 (Dostęp za pomocą JWT):
GET /api/v1/users/me: Uzyskanie pełnych informacji o bieżącym portfelu (status, ocena, sloty, limity transakcji).
PUT /api/v1/users/me: Aktualizacja publicznych metadanych konta (display_name).
Zarządzanie profilami (Dostęp za pomocą JWT):
GET /api/v1/profiles/me: Uzyskanie anonimowego profilu (biografia, linki społecznościowe, extra_data).
PUT /api/v1/profiles/me: Edytowanie danych profilu.
Konfiguracje systemowe (Dostęp za pomocą JWT):
GET /api/v1/configs/me: Uzyskanie indywidualnych ustawień (motyw interfejsu, język, strefa czasowa, parametry prywatności i powiadomienia JSON).
PUT /api/v1/configs/me: Zmiana systemowych konfiguracji interfejsu portfela.
Monitorowanie: GET /health: Healthcheck systemu dla load balancerów produkcyjnych.
Szybki start dla lokalnego rozwoju
Wdrożenie izolowanej ekosystemu jedną komendą z automatycznym pobieraniem zmian (Hot-Reload):
docker compose up --build
Nowoczesne, wysokowydajne jądro REST API, zaprojektowane zgodnie z zasadami Clean Architecture z integracją uwierzytelniania przez podpis kryptograficzny portfeli Web3 (EVM / MetaMask / WalletConnect). Projekt jest w pełni konteneryzowany za pomocą Dockera i zoptymalizowany do natychmiastowego lokalnego wdrożenia lub produkcyjnego deploymentu.
Ten szablon został opracowany jako uniwersalna, bezpieczna i architektonicznie dopracowana podstawa (System Zarządzania Użytkownikami) do tworzenia platform P2P, usług arbitrażowych, kryptowalutowych rynków, rozwiązań Web3 SaaS oraz zdecentralizowanych aplikacji (dApps). Całkowicie eliminuje potrzebę pisania podstawowej logiki autoryzacji i profili od zera.
Cechy architektoniczne i stos technologiczny
1. Bezhasłowe uwierzytelnianie Web3: Zamiast klasycznego, podatnego na ataki połączenia email/hasło, zrealizowano kryptograficzną weryfikację publicznego klucza użytkownika na podstawie podpisu wiadomości (format EIP-191). Weryfikacja odbywa się natywnie na backendzie za pomocą bibliotek eth-account i eth-keys, co gwarantuje maksymalne bezpieczeństwo sesji.
2. Clean Architecture i Pydantic v2: Wyraźny podział odpowiedzialności warstw. Modele SQLAlchemy są całkowicie izolowane, praca z bazą danych oparta jest na niezależnych routerach, a walidacja danych wejściowych i wyjściowych opiera się na schematach Pydantic v2 (bez ręcznego zbierania słowników JSON w kontrolerach).
3. Standard UUID v7: Wszystkie podrzędne i powiązane encje systemu (profile, konfiguracje użytkowników) korzystają z nowoczesnych, uporządkowanych czasowo identyfikatorów UUID v7. To uniemożliwia atakującym przeszukiwanie inkrementalnych ID, ukrywa rzeczywiste rozmiary danych systemu i przyspiesza indeksację w PostgreSQL.
4. Atomowość i Lazy Initialization danych: Profile i konfiguracje systemowe są ściśle powiązane z użytkownikiem przez kaskadowe powiązania (ondelete="CASCADE"). Tworzenie pustego anonimowego profilu oraz domyślnych ustawień interfejsu odbywa się atomowo w ramach jednej transakcji w momencie pierwszego połączenia portfela, co eliminuje stan wyścigu danych (Race Condition).
5. Pełna automatyzacja Dockera i CI/CD: Infrastruktura jest całkowicie izolowana od systemu hosta. Skrypt wdrożeniowy automatycznie kontroluje dostępność PostgreSQL, a dyrektywa create_all niezawodnie inicjalizuje strukturę bazy danych. Zrealizowano automatyczny izolowany skrypt siewu bazy danych, który przy starcie kontenera sprawdza i wymusza tworzenie lub aktualizację praw superadministratora dla określonego administracyjnego portfela Web3.
6. Optymalizacja dla generatorów typów: Specyfikacja Swagger. Trasy REST są w pełni gotowe do bezkonfliktowej automatycznej generacji rygorystycznych typów frontendowych (TypeScript) za pomocą narzędzi Orval lub OpenAPI-codegen.
Dostępna specyfikacja REST punktów końcowych
Uwierzytelnianie:
POST /api/v1/auth/connect: Weryfikacja podpisu kryptograficznego wiadomości i wydanie bezterminowego tokena sesji JWT Bearer. Automatycznie rejestruje nowy portfel, jeśli nie ma go w bazie.
Zarządzanie kontem Web3 (Dostęp za pomocą JWT):
GET /api/v1/users/me: Uzyskanie pełnych informacji o bieżącym portfelu (status, ocena, sloty, limity transakcji).
PUT /api/v1/users/me: Aktualizacja publicznych metadanych konta (display_name).
Zarządzanie profilami (Dostęp za pomocą JWT):
GET /api/v1/profiles/me: Uzyskanie anonimowego profilu (biografia, linki społecznościowe, extra_data).
PUT /api/v1/profiles/me: Edytowanie danych profilu.
Konfiguracje systemowe (Dostęp za pomocą JWT):
GET /api/v1/configs/me: Uzyskanie indywidualnych ustawień (motyw interfejsu, język, strefa czasowa, parametry prywatności i powiadomienia JSON).
PUT /api/v1/configs/me: Zmiana systemowych konfiguracji interfejsu portfela.
Monitorowanie: GET /health: Healthcheck systemu dla load balancerów produkcyjnych.
Szybki start dla lokalnego rozwoju
Wdrożenie izolowanej ekosystemu jedną komendą z automatycznym pobieraniem zmian (Hot-Reload):
docker compose up --build