Untitled
unknown
plain_text
6 months ago
2.6 kB
3
Indexable
1) Estensione del Database Tabella users: Già esistente, ma aggiungiamo nuovi dettagli per ogni utente, come: user_id (PK) username (UNIQUE) email password first_name last_name role (es. "admin" o "member") Tabella groups: group_id (PK) title creation_date duration_days min_participants max_participants creator_id (FK verso users.user_id) Tabella group_members: Associazione tra utenti e gruppi, rappresentando l'appartenenza degli utenti ai gruppi. Includiamo anche un campo per indicare se un membro è "attivo" nel gruppo: group_member_id (PK) group_id (FK verso groups.group_id) user_id (FK verso users.user_id) status (es. "active", "invited", "removed") Tabella group_invitations: Per memorizzare gli inviti ai gruppi, che possono essere accettati o rifiutati: invitation_id (PK) group_id (FK verso groups.group_id) user_id (FK verso users.user_id) invitation_status (es. "pending", "accepted", "rejected") sent_date 2) Estensione delle Funzionalità in JSP e Servlet 2.1) Aggiungere Ruoli e Permessi Implementa una distinzione tra admin e member. Gli admin possono creare nuovi gruppi e gestire tutti i gruppi esistenti, mentre i member possono solo unirsi o essere invitati a gruppi. Mostra funzionalità diverse nelle JSP in base al ruolo: ad esempio, nella pagina di dettagli gruppo, un admin può vedere l'icona del cestino per rimuovere partecipanti, mentre un member no. 2.2) Gestione degli Inviti Servlet per l’Invio degli Inviti: Crea una servlet (SendInvitationServlet) che invia inviti agli utenti e aggiorna la tabella group_invitations. Visualizzazione degli Inviti: Nella home page, aggiungi una sezione dove l’utente può vedere gli inviti ricevuti, con opzioni per accettare o rifiutare. Una servlet (RespondToInvitationServlet) gestisce l'aggiornamento dello stato dell'invito in group_invitations. Conferma di Partecipazione: Se l’utente accetta un invito, viene inserito in group_members con stato "active". 2.3) Log delle Attività Aggiungi una tabella activity_log per memorizzare le azioni principali, come la creazione di gruppi, l’aggiunta o rimozione di membri, ecc. Servlet per il Logging: Ogni servlet che gestisce un’operazione importante (come la creazione di un gruppo o la rimozione di un membro) aggiunge un record in activity_log. Visualizzazione del Log: Crea una pagina JSP dove l’admin può visualizzare il log delle attività recenti dei gruppi. 2.4) Filtri Avanzati nella Lista dei Gruppi Aggiungi filtri per data di creazione o durata del gruppo nella home page, con una servlet (FilterGroupsServlet) per gestire le richieste e restituire i gruppi filtrati.
Editor is loading...
Leave a Comment