#programowanie #php #laravel Hej mirki, mam system składający się z 3 stron: strona klienta, strona partnera biznesowego, panel administracyjny. Na froncie react (3 osobne apki) na backendzie laravel REST API. I teraz pytanie jak to ogarnąć i sensownie podzielić. Obecnie jest jedno API (jeden projekt laravel) i w nim osobne grupy endpointów /clientapi/reservations /partnerapi/reservations /admin_api/reservations czyli osobne kontrolery dla klienta, partnera i administratora. Po stronie partnera jest zarządzanie rezerwacjami dla osób które udostępniają jakieś usługi a po stronie klienta możliwość wyszukania odpowiedniej usługi i zarezerwowanie jej. Pytanie jakie podejście jest dobre, ponieważ jest część kodu, która jest wspólna np. modele i część serwisów. 1. 3 całkiem osobne projekty 2. 3 osobne projekty i jakiś współdzielony kod(tylko w jaki sposób)? 3. 1 projekt i jeden endpoint dla wszystkich ale z inną logiką w zależności od tego czy ktos jest adminem partnerem czy klientem 4. tak jak teraz 1 projekt i w jakiś sposób współdzielony kod.
@cinek181992: po co w sumie 3 osobne apki na froncie?
ja bym poszedl w 3, jak callujesz endpoint i dajesz mu jwt token z userType, czy nawet w requescie wysylasz i potem zaleznie callniecie prywatnej metody i tam logika
@cinek181992: jak robisz solo to modularny monolit - warstwa HTTP osobna per rola, logika aplikacji wspólna w warstwach niżej. Na przykład same kontrolery z FormRequestami są w modułach Client/Partner/Admin, natomiast serwisy np. od wyszukiwania czy obsługi zdarzeń biznesowych w modułach typu Reservation
Hej mirki, mam system składający się z 3 stron: strona klienta, strona partnera biznesowego, panel administracyjny. Na froncie react (3 osobne apki) na backendzie laravel REST API. I teraz pytanie jak to ogarnąć i sensownie podzielić. Obecnie jest jedno API (jeden projekt laravel) i w nim osobne grupy endpointów
/clientapi/reservations
/partnerapi/reservations
/admin_api/reservations
czyli osobne kontrolery dla klienta, partnera i administratora. Po stronie partnera jest zarządzanie rezerwacjami dla osób które udostępniają jakieś usługi a po stronie klienta możliwość wyszukania odpowiedniej usługi i zarezerwowanie jej. Pytanie jakie podejście jest dobre, ponieważ jest część kodu, która jest wspólna np. modele i część serwisów.
1. 3 całkiem osobne projekty
2. 3 osobne projekty i jakiś współdzielony kod(tylko w jaki sposób)?
3. 1 projekt i jeden endpoint dla wszystkich ale z inną logiką w zależności od tego czy ktos jest adminem partnerem czy klientem
4. tak jak teraz 1 projekt i w jakiś sposób współdzielony kod.
Może jakieś inne jeszcze propozycje?
ja bym poszedl w 3, jak callujesz endpoint i dajesz mu jwt token z userType, czy nawet w requescie wysylasz i potem zaleznie callniecie prywatnej metody i tam logika