• Najnowsze pytania
  • Bez odpowiedzi
  • Zadaj pytanie
  • Kategorie
  • Tagi
  • Zdobyte punkty
  • Ekipa ninja
  • IRC
  • FAQ
  • Regulamin
  • Książki warte uwagi

Architektura aplikacji backendowej - node/nestjs

Object Storage Arubacloud
0 głosów
370 wizyt
pytanie zadane 14 marca 2022 w JavaScript przez rszczepanski02 Obywatel (1,180 p.)
Cześć. Przychodzę do was z pytaniem dot. formy budowy aplikacji back-endowej. Chodzi o to, że postanowiłem, aby stworzyć dwie osobne aplikacje backendowe - jedna służąca do zarządzania urzytkownikami oraz administracją, a druga służąca klientowi - zarządzanie jego profilem, ogłoszeniami itp.

Postanowiłem podzielić te aplikacje, ze względu na ich obszerność oraz chociażby zupełnie osobne formy autoryzacji i autentykacji użytkowników. Problem jest związany z tym, że nie za bardzo wiem jak to zrealizować. Każda z aplikacji korzysta z osobnej bazy danych. Aplikacja dla administracji musi łączyć się ze swoją bazą oraz bazą przeznaczoną dla tej drugiej aplikacji (klienta). Do komunikacji z bazą danych używam prismy.

Jeśli ktoś ma jakieś pomysły, własne doświadczenia to chętnie poczytam!

Z góry bardzo dziękuję za pomoc.

1 odpowiedź

+3 głosów
odpowiedź 14 marca 2022 przez rafal.budzis Szeryf (85,260 p.)
wybrane 14 marca 2022 przez rszczepanski02
 
Najlepsza
To co chcesz zrobić można nazwać mikro serwisami. Nie powinny one korzystać z tych samych baz. W przypadku drugiej aplikacji która musi mieć dostęp do 2 baz powinieneś ją podpiąć tylko do tej przypisanej do niej, a resztę danych poobierać przez wywoływanie drugiego API.

Jeśli potrzebujesz synchronizować dane w 2 bazach aplikacje powinny się komunikować między sobą poprzez eventy. Możesz do tego wykorzystać np RabbitMQ

Myślę że pod hasłem mikroserwisy znajdziesz dużo w necie ;)
komentarz 14 marca 2022 przez rszczepanski02 Obywatel (1,180 p.)
Taaak słyszałem o nich, ale chciałem uniknąć tego tematu. Znacząco skomplikuje proces developmentu, a jest to mój pierwszy projekt w ramach startup'u uczelnianego. Chyba zrobię jednak jeden backend przy wykorzystaniu nest'a i podzielę apkę na dwa główne moduły (moduł z podmodułami odpowiedzialnymi za wersję dla administracji i moduł z podmodułami odpowiedzialnymi za wersję dla klienta). Wszystkie tabele wrzucę do jednej bazy ew. stworzę drugą bazę dla wersji klienckiej. Obawiam się tylko tego, że z czasem, kiedy projekt będzie się rozrastał, zastosowane podejście okaże się problematyczne pod względem rozbudowy, zrobi się bałagan i apka zacznie szwankować.

 

Nigdy nie miałem okazji przewodzić procesem tworzenia całej aplikacji, zawsze pracowałem przy rozbudowie już istniejących rozwiązać :D
1
komentarz 14 marca 2022 przez rafal.budzis Szeryf (85,260 p.)
To może jednego backendu wcale nie pisać ? ;) Tą bazę dla userów mógłbyś zrobić np w firebase. Masz tam bazy danych z uprawnieniami które mają już warstwę API po websocket lub REST. I zintegrować się z tą bazą firebase po stronie przeglądarki i Nesta .

W przyszłości będziesz mógł zastąpić firebase DB swoją aplikacją nest.js lub nawet zostawić to w takiej formie :D
komentarz 14 marca 2022 przez rszczepanski02 Obywatel (1,180 p.)
Patrząc na złożoność struktury danych i relacji aplikacji klienckiej firebase już od początku byłby zbyt ograniczonym narzędziem. No nic, muszę myśleć dalej :D Zapewne i tak w trakcie developmentu będę zmieniał warstwę biznesową aplikacji wiele wiele razy.

Dzięki wielkie za pomoc!
Wszystkiego dobrego :D
komentarz 15 marca 2022 przez Wiciorny Ekspert (270,110 p.)
Ja bym pisał po prostu 1 bazę, ale jeśli tak bardzo zależy autorowi na rozgraniczeniu pewnych rzeczy, stworzyłbym niezależne API do komunikacji, no siłą rzeczy jak wspomniano najlepsze rozwiązania to microserwisy, ale dla takiej zwykłej apki po prostu można wystawić API w oparciu o serwisu i np. przydzielic dla tego serwisu całkiem inny wątek - connector do bazy danych

Podobne pytania

+3 głosów
2 odpowiedzi 259 wizyt
+1 głos
0 odpowiedzi 207 wizyt

92,570 zapytań

141,422 odpowiedzi

319,643 komentarzy

61,958 pasjonatów

Motyw:

Akcja Pajacyk

Pajacyk od wielu lat dożywia dzieci. Pomóż klikając w zielony brzuszek na stronie. Dziękujemy! ♡

Oto polecana książka warta uwagi.
Pełną listę książek znajdziesz tutaj.

Akademia Sekuraka

Kolejna edycja największej imprezy hakerskiej w Polsce, czyli Mega Sekurak Hacking Party odbędzie się już 20 maja 2024r. Z tej okazji mamy dla Was kod: pasjamshp - jeżeli wpiszecie go w koszyku, to wówczas otrzymacie 40% zniżki na bilet w wersji standard!

Więcej informacji na temat imprezy znajdziecie tutaj. Dziękujemy ekipie Sekuraka za taką fajną zniżkę dla wszystkich Pasjonatów!

Akademia Sekuraka

Niedawno wystartował dodruk tej świetnej, rozchwytywanej książki (około 940 stron). Mamy dla Was kod: pasja (wpiszcie go w koszyku), dzięki któremu otrzymujemy 10% zniżki - dziękujemy zaprzyjaźnionej ekipie Sekuraka za taki bonus dla Pasjonatów! Książka to pierwszy tom z serii o ITsec, który łagodnie wprowadzi w świat bezpieczeństwa IT każdą osobę - warto, polecamy!

...