Switch to English?
Yes
Переключитись на українську?
Так
Переключиться на русскую?
Да
Przełączyć się na polską?
Tak

Igor Belousov

Zaproponuj Igor pracę nad swoim kolejnym zleceniem.

Ukraina Kijów, Ukraina
13 dni 22 godziny temu
Częściowo zajęty częściowo zajęty
wiek 42 lata
w Serwisie 11 lat

Ranking

Zakończonych zleceń
Brak danych
Średnia ocena
Brak danych
Ranking
191
Programowanie stron internetowych 1
Sklepy internetowe i e-commerce

Umiejętności i kwalifikacje

Programowanie

Usługi

Portfolio


  • 11 181 PLN

    Kijowski klub jachtowy

    Kompleksowe prace nad stroną internetową
    Platforma zarządzania cyfrowym archiwum i flotą jachtów klubu
    O projekcie: Opracowanie wysokowydajnego systemu „Cyfrowe muzeum” dla Kijowskiego Miejskiego Klubu Jachtowego. Projekt ma na celu systematyzację dziedzictwa historycznego, ewidencję floty i załóg, a także automatyzację archiwum mediów. Główny nacisk położono na niezawodność przechowywania danych i szybkość działania na urządzeniach mobilnych.
    Stos technologii:
    Backend: Go (Golang) — opracowanie odpornego na awarie API i systemu przetwarzania treści multimedialnych.
    Frontend: Angular 21 (Standalone Components, Signals, nowy Control Flow) — tworzenie szybkiego i responsywnego interfejsu.
    Baza danych: PostgreSQL (użycie UUID v7 dla zapewnienia bezpieczeństwa i naturalnego sortowania danych).
    Przechowywanie: Zgodne z S3 magazyn (Cloudflare R2 w produkcji, SeaweedFS do lokalnego rozwoju).
    DevOps: Zautomatyzowany cykl CI/CD, praca z gałęziami Feature, Docker.
    Zadania techniczne i zrealizowane rozwiązania:
    Architektura przechowywania „Zero Path”:
    Problem: Zależność od lokalnego systemu plików i trudności z migracją danych.
    Rozwiązanie: Całkowita rezygnacja z przechowywania ścieżek do plików w bazie danych. Wdrożono system, w którym w bazie przechowywane są tylko UUID i rozszerzenia, a ścieżki są generowane dynamicznie po stronie frontendu przez abstrakcję dostawcy S3. Umożliwiło to bezproblemowe przełączanie się między lokalnym SeaweedFS a chmurowym Cloudflare R2.
    Optymalizacja wydajności wersji mobilnej (Wydajność):
    Problem: Niskie wskaźniki LCP (3,8 sek) z powodu ładowania oryginalnych obrazów.
    Rozwiązanie: Opracowano pipeline mediów w Go, który podczas ładowania automatycznie generuje miniatury WebP (thumbs). Skonfigurowano leniwe ładowanie (lazy loading) i wymuszone wyświetlanie podglądów domyślnie, co pozwoliło przywrócić wskaźniki prędkości do „zielonej strefy” (90+ punktów Lighthouse).
    Logiczna izolacja danych (Izolacja Galerii):
    Problem: Trudności w zarządzaniu tysiącami plików multimedialnych związanych z różnymi bytami (jachtami, wydarzeniami, ludźmi).
    Rozwiązanie: Wdrożono strukturę folderów na poziomie S3 na podstawie UUID galerii. Wyeliminowało to przechowywanie wszystkich plików w jednym miejscu, uprościło tworzenie kopii zapasowych i usuwanie powiązanych danych.
    Stabilność układu (Optymalizacja CLS):
    Problem: „Skaczący” interfejs podczas ładowania obrazów na urządzeniach mobilnych.
    Rozwiązanie: Wykorzystanie ścisłego Atomic Design i rezerwacja przestrzeni pod treści multimedialne przez aspect-ratio w komponentach Angular.
    Unikalne cechy i możliwości:
    Zautomatyzowane przetwarzanie mediów: System samodzielnie określa typ treści (zdjęcie/wideo), tworzy potrzebne miniatury i umieszcza je w odpowiednich katalogach S3 (oryginały/thumbs).
    Powiązane archiwum historyczne: Głęboka integracja danych między profilem jachtu a jego załogą, umożliwiająca śledzenie historii statku przez dziesięciolecia.
    Profesjonalny Workflow: Opracowanie prowadzone jest zgodnie z zasadą Git Flow z automatycznym dostarczaniem kodu na produkcję po scaleniu do głównej gałęzi, co gwarantuje stabilność działającej usługi.
    Wynik:
    Stworzona została skalowalna i niezależna od infrastruktury platforma. Dzięki przejściu na architekturę zgodną z S3 i optymalizacji frontendu, projekt wykazuje wysoką szybkość reakcji i jest gotowy do przechowywania dużych zbiorów danych bez utraty wydajności.