Problem
Przejąłem CRM, przez który drukarnia prowadziła swoje zlecenia — miał pomagać, zamiast tego był wąskim gardłem. Raportowanie nie działało, więc nikt nie potrafił powiedzieć, którzy klienci naprawdę są warci czasu maszyn, a system zadań był tak nieużywalny, że nikt go nie ruszał.
Pod spodem baza rozrastała się latami w niezoptymalizowany gąszcz: dane klientów i zleceń rozsiane po 15+ starych tabelach, każdy typ interakcji we własnym, odizolowanym logu, osobny ERP przepisywany ręcznie, żeby się zgadzał. Odpowiedź na pytanie „co i za ile drukowaliśmy temu klientowi" wymagała otwarcia kilku miejsc i nadziei, że się zgadzają.
Co zbudowałem
Przebudowa na czystym schemacie: klucze główne UUID z kolumnami JSONB dla tego, co naprawdę różni się między zleceniami — elastycznie, bez utraty integralności referencyjnej. 15+ tabel i 5+ rozproszonych logów zwinęło się w jedną oś czasu klienta: każde zlecenie, wycena i rozmowa w jednym miejscu, po kolei.
Raportowanie, które naprawdę działa — zespół widzi, którzy klienci i jakie zlecenia się opłacają. System zadań, którego używa, zamiast go unikać. Synchronizacja z ERP jest automatyczna przez dopasowanie dwukluczowe (numer relacji + id ERP), z obsługą wypisu RODO wbudowaną w warstwę danych. Narzędzie z codziennego tarcia stało się codziennym napędem.
Stack
Retool · Postgres · JSONB · UUID · ERP sync · RODO