← Wróć do case studies
Case study — platforma danych Wdrożone

Trzynaście arkuszy prowadziło firmę. Jedno miejsce — z codzienną kopią.

Franki Kancelaria, firma doradztwa kredytowego, prowadziła całą działalność na około milionie rekordów rozrzuconych po 13 rozłączonych arkuszach — bez historii zmian, bez backupów i z danymi call center, które nigdy nie trafiały do analityki. Wyczyściłem i znormalizowałem wszystkie 13, a potem scaliłem je w jedną samodzielnie hostowaną platformę relacyjną z automatycznym pipeline zasilającym hurtownię.

  • 13 arkuszy — około miliona rekordów — wyczyszczonych, znormalizowanych i scalonych w jedną bazę.

  • Dane call center trafiają do raportu co 15 minut.

  • Codzienne backupy i sprawdzona ścieżka odtworzenia — bezpieczny wzrost.

Problem

Firma żyła w 13 rozłączonych arkuszach — około miliona rekordów edytowanych ręcznie, łączonych lookupami, po cichu uderzających w limity wierszy. Ten sam klient figurował w kilku z nich w nieco innej pisowni, więc żadne dwa pliki nigdy się nie zgadzały. Nie było historii zmian, strategii backupu ani bezpiecznego sposobu na rozwój: jedno złe wklejenie mogło bezpowrotnie utracić dane.

Osobno dane call center siedziały w bazie dostawcy telefonii, ale nigdy nie trafiały do analityki. Gotowe narzędzie do transferu wciąż padało, bo dostawca wymusza twardy limit dwóch jednoczesnych połączeń — więc raporty były zawsze nieaktualne albo ich brakowało.

Co zbudowałem

Wszystkie 13 arkuszy wyczyszczone, zdeduplikowane i znormalizowane do jednego schematu relacyjnego, a potem przeniesione na samodzielnie hostowaną platformę w chmurze firmy: NocoDB na PostgreSQL, za reverse proxy z automatycznym HTTPS i Google SSO ograniczonym do domeny firmy, z dziennymi backupami i zweryfikowaną ścieżką odtworzenia. Osoby nietechniczne dostają znajomy, arkuszowy interfejs; dane pod spodem są wreszcie relacyjne, z kontrolą dostępu i audytowalne.

Dla danych call center zastąpiłem padający transfer zaplanowanym zadaniem, które synchronizuje 27 tabel do hurtowni co 15 minut — działa na jednym połączeniu, by uszanować limit dostawcy, używa watermarków do ładowań przyrostowych i deduplikacji merge-on-write, więc analityka jest aktualna, nigdy nie wyczerpując źródła.

Osobny panel umów spina workflow prawny z CRM-em sprzedaży przez webhooki, synchronizując statusy w obie strony.

Stack

NocoDB · PostgreSQL · Google Cloud · Cloud Run · BigQuery · Python · Docker · Traefik · Next.js · Express

Zarezerwuj darmowe 30 min