Wpis z mikrobloga

Razem z kumplem robimy pewien serwis, w zasadzie to dwa bliźniacze. Serwisy będą miały identyczny layout, ale różny content(grafiki, kolorystykę , teksty). Wspólna będzie też funkcjonalność tj. formularz kontaktowy, możliwość złożenia zamówienia przy użyciu paypala. Bazy danych też będą bliźniacze.
Serwis nie jest dużym projektem, więc front będzie prosty pisany przy użyciu jQuery przez kumpla. Ja zajmuję się backendem i chciałem napisać to w #laravel Wybrałem ten framework, bo jeszcze nic w nim nie tworzyłem. Tutaj rodzi się pytanie jak rozwiązać to, by w ramach jednej aplikacji działały dwa podobne serwisy. Każdy z nich będzie na osobnej domenie wskazującej na ten sam serwer i to w zależności do domeny będzie ładowany inny content, formularz kontaktowy będzie wysyłał wiadomości na inny email, a zamówienia będą dodawane do innej bazy.
Czy ma to sens? Czy lepiej jest stworzyć jedną aplikację na początku, a później przekopiować cały projekt i go zmodyfikować? Tutaj pojawia się problem, że modyfikując jedną aplikację trzeba pamiętać by zrobić to też w drugiej. Zależy mi też na tym, by istniała możliwość tworzenia kolejnych wersji tych serwisów znowu z różnym contentem. Ktoś ma jakieś sugestie jak to rozwiązać? Czy może użyć w ogóle innego narzędzia/frameworka?
#php #webdev
  • 4
@sebastian-koziel: z tego co rozumiem bedziecie miec wspolny backend i osobny front

wiec razem powinniscie zrobic backend i trzymac go jako jeden modul w git
a frontend podobnie, rozwijany na poczatku tak samo az bedzie skonczony i potem kazdy klonuje swoja wersje i uzupelnia ja w konfiguracje

ew jak chcecie miec prawie wszystko takie same to mozna caly frontend pod jedno repo gita wsadzic i poszczegolne foldery (np katalog config, css,
@sebastian-koziel: zróbcie moduł, który będzie backendowym silnikiem generycznym trzymanym w innym repo, który będzie można instalować w różnych projektach, będzie po prostu taką biblioteką, którą instalujesz, konfigurujesz i z głowy. Bardzo prosto jest to zrobić w python/django. na laravel sie nie znam
@sebastian-koziel: Może zrobić to w formie opcji w konfiguracji? Ustawiasz że serwis pracuje albo w trybie "A" albo "B" w konfiguracji - a w kodzie bootstrapującym aplikacje wyciągasz moduł konfiguracyjny z service containera i jeśli jest to "A" to ładujesz moduły/routes.php odpowiednio dla serwisu A a jeśli B to odpowiednio dla B.