Problem
Firma żyła w trzech dużych, rozłączonych arkuszach — około 130 000 rekordów edytowanych ręcznie, łączonych lookupami i po cichu uderzających w limity wierszy. 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 po prostu ich brakowało.
Co zbudowałem
Samodzielnie hostowaną platformę bazodanową w chmurze firmy: NocoDB na PostgreSQL, za reverse proxy z automatycznym HTTPS i Google SSO ograniczonym do domeny firmy, z dziennymi backupami wypychanymi do object storage 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. Z założenia działa na jednym połączeniu, by uszanować limit dwóch połączeń dostawcy, używa watermarków do ładowań przyrostowych i deduplikuje przez 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