Platforma zaimportuj.pl
Jedno repozytorium, cztery aplikacje i wspólne klocki: typy, komponenty, redaktor SEO. Fundament, na którym kolejne produkty grupy powstają szybciej.
- 4 aplikacjew jednym repozytorium: platforma importu, panel wiedzy, generator grafik, marketplace
- 7 pakietówwspółdzielonych między aplikacjami — od typów po redaktor SEO
- 1 źródło typówwszystkie kontrakty danych w jednym pakiecie
Wyzwanie
Grupa rozwija kilka produktów naraz: platformę importu zaimportuj.pl, panel wiedzy dla zarządu, generator grafik i marketplace aplikacji. Cztery osobne projekty oznaczałyby cztery razy te same komponenty, typy i błędy.
Potrzebny był jeden fundament: wspólne klocki, które można wpiąć w każdą aplikację — i wyjąć, gdy trzeba użyć ich gdzie indziej.
Jak to jest poukładane
Jedno repozytorium
pnpm workspaces i Turborepo: jedna instalacja, jeden zestaw komend, wspólna historia zmian.
Kontrakty w jednym miejscu
Wszystkie współdzielone typy TypeScript żyją w pakiecie @xtn/types. Aplikacje nie definiują ich po swojemu.
Klocki jako pakiety
Komponenty interfejsu i redaktor SEO są gotowe; panel, logowanie i płatności mają przygotowane miejsce w architekturze.
Zależności tylko w dół
Aplikacje korzystają z pakietów, pakiety z typów. Żadnych cykli — zmiana w jednym miejscu nie psuje drugiego.
Bez osobnego budowania pakietów
Pakiety kompilują się razem z aplikacją, więc zmiana w komponencie jest widoczna od razu.
Jak to wygląda
Aplikacje
- zaimportuj
- SekretyCEO
- imagift
- appmarket
Pakiety współdzielone
- @xtn/ui
- @xtn/seo-blog
- @xtn/cms
- @xtn/panel
- @xtn/auth
- @xtn/payments
Kontrakty danych
- @xtn/types
Technologie
Monorepo
- pnpm workspaces
- Turborepo
Aplikacje
- Next.js 14 (App Router)
- React
- TypeScript
Jakość
- Vitest
- kontrakty typów
Co z tego wynika
Redaktor SEO działa w trzech miejscach
Ten sam pakiet pracuje w platformie, w aplikacji pulpitowej i na stronie zbudowanej w Astro — bez przepisywania.
Nowa aplikacja startuje z klockami
Typy i komponenty są od pierwszego dnia — zespół zaczyna od funkcji, nie od fundamentów.
Zmiana w jednym miejscu
Poprawka komponentu trafia do wszystkich aplikacji naraz.
Porządek, który sam się pilnuje
Graf zależności bez cykli: aplikacje, pakiety, typy.
Platforma jest w aktywnym rozwoju — ta strona pokazuje architekturę i to, co już działa, a nie zamknięty produkt.