Wszystkie realizacje

Tonnage

2024 → dziś · SaaS · budownictwo i materiały · Długoterminowa współpraca · dev + produkt

Zobacz stronę

Platforma SaaS dla budownictwa — Tonnage

Platforma SaaS dla budownictwa i pośrednictwo w handlu kruszywami

Strategia produktuDesign UI/UXDevelopment Next.js 16Back-office Symfony 7API PlatformMapy LeafletSEO programatyczneEmail i multikanałowośćDługoterminowa współpraca
Platforma Tonnage — pośrednik w handlu kruszywami dla budownictwa

Tonnage to wiodąca platforma SaaS do pośrednictwa w handlu kruszywami we Francji: wspiera ponad 360 kierowników budów i specjalistów ds. ofertowania w porównywaniu dostawców, zabezpieczaniu najlepszych cen oraz centralizacji zamówień, dostaw i dokumentów.

Dostarczyliśmy i rozwijamy trzy produkty w jednym ekosystemie: witrynę SEO z ponad 1 000 stron, mapową przestrzeń klienta SaaS (Leaflet) z katalogami dostawców, lokalizacji i kontaktów oraz back-office w Symfony, który uprzemysławia całą pracę handlową — pipeline ofert, zapytania do dostawców, follow-upy, fakturowanie, OCR wycen.

Kontekst

Rynek kruszyw — piasku, żwiru, kamieni, mieszanek, ziemi urodzajnej — jest rozproszony między setki kopalni, platform recyklingowych i przewoźników. Dla kierownika budowy zamawiającego 5 000 ton na plac budowy znalezienie właściwego dostawcy w odpowiedniej cenie i lokalizacji to godziny telefonów, follow-upów i ręcznego porównywania wycen w PDF.

Tonnage atakuje ten problem cyfrowo: jednym narzędziem łączącym mapę geologiczną × katalog branżowy × wspomagane pośrednictwo. Wyzwanie po stronie platformy: utrzymać ponad 1 000 stron SEO, interaktywną mapę wielowarstwową, CRM dostawców z OCR — i to wszystko przy ograniczonym zespole technicznym, więc stack musi być prosty, niezawodny i skalowalny.

Działamy na całym zakresie: front Next.js 16, back Symfony 7 + API Platform, integracje multikanałowe (Gmail, Brevo, Twilio, Pusher, Algolia, Google Vision do OCR) oraz wdrożenie i infrastruktura.

01

Witryna i SEO programatyczne

Ponad 1 000 wygenerowanych stron · uporządkowane pozyskiwanie organiczne

Publiczna witryna obsługuje trzy odrębne grupy odbiorców — ciekawego odwiedzającego, klienta pośrednictwa, zarejestrowanego producenta — z dedykowanymi ścieżkami. Machina SEO opiera się na szablonach Next.js 16, które generują strony na przecięciu produkt × geografia.

Strony produktowe pokrywają całą nomenklaturę kruszyw (piasek 0/1 do 0/10, żwir 4/6 do 14/20, kamienie 20/40 do 80/120, mieszanki 0/20 do 0/150, ziemia urodzajna, wywóz). Strony geograficzne pokrywają każdy departament, a następnie każde miasto (`/vente-granulats/{dep}/{ville}`). Linkowanie wewnętrzne między produktami, departamentami i miastami jest generowane automatycznie, a sitemap dynamiczny z ISR (rewalidacja godzinowa dla bloga).

  • Szablony produktowe · piasek, żwir, kamienie, mieszanki, ziemia
  • Strony departamentów · /vente-granulats/{dep}
  • Strony miast · /vente-granulats/{dep}/{ville} (setki gmin)
  • Automatyczne linkowanie wewnętrzne między produktem, miastem, departamentem
  • Blog Symfony konsumowany przez API Platform (ISR)
  • Dynamiczny sitemap.xml generowany po stronie Next.js
Ścieżka zamówienia Tonnage
02

Przestrzeń klienta SaaS

Interaktywna mapa wielowarstwowa + katalogi + budowy

Sercem produktu jest mapa React Leaflet wyświetlająca w czasie rzeczywistym lokalizacje materiałów (kopalnie, platformy recyklingowe, składy) oraz bazy przewoźników. Zaawansowane filtry według typu lokalizacji, rodzaju skały (wapień, granit, bazalt, recykling…), formy prawnej, sektora działalności.

Dostępne są cztery podkłady mapowe: plan, satelitarny, topograficzny, geologiczny i litologiczny — to właśnie wymiar geologiczny stanowi o wyjątkowości Tonnage na rynku. Dynamiczne klastry (markercluster), wyszukiwanie rozmyte (Fuse.js) po miastach i firmach, kontekstowe panele boczne.

Wokół mapy: katalog firm (NIP, powiązane lokalizacje, kontakty), katalog lokalizacji (kopalnie, składy, typy materiałów), klikalna baza kontaktów oraz moduł budów z automatycznym geokodowaniem i wyszukiwaniem dostawców w pobliżu, posortowanych według odległości.

  • React Leaflet · plan, satelita, topo, geologiczna, litologiczna
  • Zaawansowane filtry · skała, status prawny, holding
  • Katalogi firm + lokalizacji + kontaktów
  • Budowy z geokodowaniem i dopasowaniem dostawców w pobliżu
  • 3 plany cenowe (Darmowy / Standard / Premium)
03

Back-office Symfony

CRM, pipeline'y Kanban, OCR wycen

Back-office zbudowany jest na Symfony 7.1, EasyAdmin i API Platform, uzupełniony ekranami Next.js osadzonymi w iframe dla kluczowych workflow. Pipeline ofert to Kanban drag & drop ze store'em Zustand, sekwencyjne numerowanie thread-safe `OFFRE-XXXXX`, drawer follow-upów i szablony email.

Pipeline zapytań do dostawców synchronizuje przychodzące emaile Gmail po referencji (`OFFRE-XXXXX`), przepuszcza wyceny w PDF/obrazach przez własny parser + Google Cloud Vision, by automatycznie wyodrębniać ceny, i prezentuje porównanie obok siebie. Generowanie faktur `FAC-XXXXX` (abonament, pośrednictwo, tonaż) w PDF (FPDF/FPDI).

Do tego dochodzą: pipeline leadów z witryny, zarządzanie flotą, import cenników Excel (PhpSpreadsheet), eksporty CSV/Excel, mapa po stronie administracyjnej z warstwami trwających zapytań i zamówień.

  • Kanban drag & drop · pipeline'y ofert / zapytań / zamówień
  • Dwukierunkowa synchronizacja Gmail po numerze referencyjnym
  • OCR wycen PDF przez Google Cloud Vision
  • Fakturowanie PDF · abonament, pośrednictwo, tonaż
  • Import Excel · cenniki dostawców
Model cenowy Tonnage
04

Integracje multikanałowe

Email, SMS, push, czas rzeczywisty

Platforma orkiestruje kilkanaście usług zewnętrznych przez Symfony Notifier i Symfony Messenger: Gmail API do synchronizacji email, Brevo i Mailjet do wiadomości transakcyjnych i kampanii, Twilio do SMS-ów, Pusher do zdarzeń w czasie rzeczywistym (aktualizacja pipeline'u na żywo), Slack do wewnętrznych alertów.

Po stronie danych: Algolia indeksuje katalogi w pełnotekstowym wyszukiwaniu natychmiastowym, Google Cloud Storage przechowuje PDF-y i załączniki, Firebase uzupełnia uwierzytelnianie i powiadomienia push, Notion SDK synchronizuje wewnętrzne bazy wiedzy. Wszystko w zadaniach asynchronicznych przez Symfony Messenger + transport Doctrine, nadzorowane przez Zenstruck Monitor.

  • Gmail API · synchronizacja emaili od dostawców
  • Brevo + Mailjet · email transakcyjny + kampanie
  • Twilio · SMS przez Symfony Notifier
  • Pusher · pipeline'y w czasie rzeczywistym
  • Algolia · natychmiastowe wyszukiwanie w katalogach
  • Google Vision · OCR wycen
05

Architektura techniczna

Front Next.js · Back Symfony · API Platform

Front Next.js 16 podzielony jest na cztery strefy: `(site)` dla witryny SEO + bloga + pośrednictwa, `(user)` dla przestrzeni SaaS, `admin` dla ekranów osadzonych w iframe w EasyAdmin oraz `lp` dla dedykowanych landing page'y. Server Components, Turbopack, React 19, Tailwind CSS v4, Radix UI, Zustand do pipeline'ów.

Back Symfony 7.1 udostępnia wszystko przez API Platform 3 (REST + dedykowane endpointy), zarządza logiką biznesową w EasyAdmin i orkiestruje workerów asynchronicznych przez Messenger. PostgreSQL po stronie bazy danych z rozszerzeniami PostGIS do map. Jakość trzymana przez PHPStan, Rector, PHPUnit, Foundry, php-cs-fixer.

  • Front Next.js 16 · 4 strefy (site / user / admin / lp)
  • Back Symfony 7.1 · EasyAdmin + API Platform 3
  • PostgreSQL + PostGIS · dane geograficzne
  • Asynchroniczne workery · Messenger + transport Doctrine
  • Sentry · monitoring front + back na produkcji
06

Wsparcie i rozwój

Platforma, która rozwija się nieustannie

Tonnage nie jest projektem dostarczonym i porzuconym: stale pracujemy nad nowymi funkcjami produktu (nowe moduły biznesowe, nowe warstwy mapowe, integracje partnerskie), nad optymalizacją SEO szablonów programatycznych, nad testami i stabilnością oraz nad infrastrukturą (workery, backupy, monitoring).

Rozdzielona architektura front/back jest gotowa na multi-tenant i internacjonalizację — to kolejny etap produktu.

Wyniki

Wyjątkowe narzędzie biznesowe na francuskim rynku kruszyw

1 000+

stron indeksowalnych

produkty × miasta × departamenty

360+

wspieranych specjalistów

kierownicy budów i specjaliści ds. ofertowania

5 podkładów

mapy interaktywnej

plan, satelita, topo, geo, lito

10+

aktywnych integracji

Gmail, Brevo, Twilio, Pusher…

Stack

Narzędzia wykorzystane w projekcie

Next.js 16

App Router, Turbopack, React 19, Server Components.

Symfony 7

Backend, EasyAdmin, asynchroniczne workery Messenger.

API Platform

REST + endpointy udostępniane partnerom.

PostgreSQL

Baza danych + rozszerzenia PostGIS do map.

Leaflet

Interaktywne mapy wielowarstwowe.

Algolia

Pełnotekstowe wyszukiwanie w katalogach.

Pusher

Zdarzenia w czasie rzeczywistym · Kanban na żywo.

Brevo

Email transakcyjny + kampanie.

Twilio

SMS przez Symfony Notifier.

Google Cloud

Storage PDF-ów + Vision OCR wycen.

Sentry

Monitoring błędów front + back.

Stripe

Płatności za abonamenty SaaS.

Podsumowanie

Tonnage to dokładnie ten typ projektu, który lubimy: wymagający SaaS biznesowy, prawdziwa unikalność produktu (mapa geologiczna × katalog × CRM), otwarty stack (Next.js + Symfony + API Platform) i długoterminowa współpraca z realnym zespołem po drugiej stronie. Jeśli prowadzisz niszowy projekt SaaS B2B, który wymaga skoordynowanego rozwoju, produktu i pozyskiwania klientów — znamy tę melodię.

Wycena w 48h

Nie chcesz dzwonić?
Opisz swój projekt
w 5 minut.

Masz podobny projekt (przebudowa, oprogramowanie na zamówienie, AI)? Opisz go w 5 minut — odeślemy w 48 h propozycję architektury i wycenę.

  • 1Opisujesz swoją potrzebę
  • 2My wyceniamy i uzasadniamy
  • 3Wycena trafia do Twojej skrzynki
Opisz mój projekt

Bez zobowiązań · Odpowiedź w 48 h