Sto provando a progettare l'architettura del servizio di individuazione e creazione di gruppi di amici (il sistema di creazione di gruppo per la precisione) di un'app di Instant Messaging con Android
come client, Java
come linguaggio di programmazione, Jersey
come mio servizio REST, GlassFish 5
come contenitore del mio servizio web e MongoDB
come persistenza.
Le regole per la creazione del gruppo sono le seguenti:
- Sono necessari un minimo di 3 inviti iniziali per creare un gruppo.
- Gli utenti possono inviare inviti solo ai membri della loro lista di amici.
- Il gruppo non verrà creato e una notifica verrà inviata al mittente della richiesta di creazione del gruppo, se almeno 3 membri non hanno accettato l'invito entro 2 settimane per l'invio della creazione di gruppo. (Ad esempio: invio una richiesta di creazione di gruppo invitando inizialmente 5 persone oggi, ma se dopo 2 settimane da oggi non sono presenti almeno 3 persone che hanno accettato l'invito, il gruppo non verrà creato sul DB e otterrò un messaggio adatto notifica).
Ora, il mio piano iniziale è simile a questo:
Quello che voglio sapere è:
- È un buon progetto di architettura? Quali sono i suoi difetti e come correggerli?