Podział aplikacji na moduły

0

Cześć, chcę napisać aplikacje, która w dużej części jest podobna do justjoin.it.

Dodaje się pewne wpisy i jest również mapa z zaznaczoną lokalizacją każdego wpisu. Do tego filtry i jakiś panel użytkownika do zarządzania swoimi wpisami.

Zastanawiam się jak do tego podejść od strony architektury. Chcę to zrobić w django bo coś tam już w nim pisałem, ale jak podzielić poszczególne elementy systemu tego juz nie wiem. Czy np. jako jedną z aplikacji w ramach projektu django stworzyć RESTful API, które będzie zarządzać wszystkimi wpisami? Czy ładować wszystkie dane od razu czy partiami, tutaj pojawia się kolejny problem bo na mapie fajnie by bylo zaznaczyć wszystkie wpisy, ale zagregowane w jakiś sposób na regiony, a "rozpakowywane" na poszczególne wpisy dopiero w momencie zooma na mapie, ale juz lista wpisów fajnie jakby ładowała partiami i ładowała kolejne w momencie scrollowania. Też chciałbym, żeby odpowiednie filtry miały odzwierciedlenie w URL, żeby można było przesłać link, zamiast w tle asynchronicznie odpytywać API i ładować odpowiednie dane.

Jakby ktoś mnie nakierował jak do tego podejść i jakich technologii użyć to byłbym wdzięczny, bo obecnie tyle tego jest, że nie wiem co wybrać i które podejście byłby najlepsze, z góry dzięki za każdą pomoc ;)

2

A ile będzie tych użytkowników i tych wpisów? Ile jeden użytkownik może mieć mniej więcej wpisów.

2

@makam14:

Dobrze, ze stawiasz pytania, i one są całkiem wartościowe.

Natomiast jest tam mix architekturalnych i szczegółowych implementacyjnych.

W otoczeniu dobrego frameworku, widziałem przez ramie, ale Django wydaje się dobrym, najważniejsze pytanie: trzymać się jego filozofii, czy rzeźbić / budować po swojemu (rzeźbić słowo negatywne, budować pozytywne - to tak jak z Królową Lodu / Królową Loda). Będąc fw serversidowym nie opiera się nadmiernie na REST, a o to pytasz.

S4t napisał(a):

A ile będzie tych użytkowników i tych wpisów? Ile jeden użytkownik może mieć mniej więcej wpisów.

Właśnie, ta grupa pytań...
Jaki ruch w liczbach, czy konieczność deploymentu części/modułów w innych okresach, czy moduł w obrębie (monolitu (w dobrym sensie), czy totalna niezależność ... to zalezy

1

Na początek rozdziel sobie stos zapisu od odczytu, poczytaj o CQRS.

Mapkę i klastrowanie możesz ogarnąć bazą typu ElasticSearch. Do zaimplementowania stosu zapisu i jakiegoś CRUD-a wystarczy to, co daje Django i ORM.

1 użytkowników online, w tym zalogowanych: 0, gości: 1