PiantApp è un'applicazione che consente agli utenti di condividere conoscenze e parlare di piante. Ogni utente può condividere informazioni sulle piante che ha piantato, vedere le piante dei propri amici e molto altro.
Per utilizzare il programma esegui il server e fai partire il servizio premendo il pulsante apposito. Successivamente esegui i client ed effettua il login. Nella parte centrale possiamo notare la sezione dei post, in cui possiamo scorrere i post pubblicati con il pulsante apposito. Possiamo anche dare un mi piace al post. Nella barra a sinistra sono presenti alcune funzionalità: nuovo post, che serve per pubblicare un nuovo post, cerca utente, che consente di trovare un utente in base al suo nickname, e l'immagine di profilo, che apre un menu con le informazioni sull'account (in questa sezione si possono modificare le informazioni). Nella barra laterale è presente inoltre il contatore dei mi piace che gli altri account hanno dato all'utente.
- Server (uno): accetta le richieste dei client e risponde con le informazioni richieste
- Client (da uno a n): richiede informazioni al server e le visualizza
- /json/users.json contiene gli utenti registrati
- /json/posts.json contiene i post
ID Utente | Nome utente | Descrizione |
---|---|---|
U1 | Utente non loggato | Utente che non ha effettuato il login a cui viene richiesto di autenticarsi |
U2 | Utente loggato | Utente che ha effettuato l'accesso e che quindi può richiedere tutte le funzionalità |
ID Funzionalità | Nome sintetico | Utenti interessati | Descrizione |
---|---|---|---|
F1 | Login e registrazione | U1 | L'utente deve inserire username e password per procedere |
F2 | Visualizzare post | U2 | Nella home dell'utente, deve essere presente un post |
F3 | Pubblicare contenuti | U2 | L'utente può pubblicare un post |
F4 | Cercare utenti | U2 | L'utente può cercare altri utenti per vedere i loro contenuti tramite il nickname |
F5 | Interagire con i post | U2 | Mi piace |
ID Funzionalità | Nome sintetico | Comando | Risposta |
---|---|---|---|
F1 | Login | login nickname password$ |
surname name nickname email password image likes liked$ o $ |
F1 | Registazione | register surname name nickname email password$ |
successfull$ o "$" |
F1 | Aggiungere pianta | addplant nickname plant$ |
successfull$ o "$" |
F1 | Rimuovere pianta | removeplant nickname plant$ |
successfull$ o "$" |
F1 | Aggiorna informazioni | update nickname name surname email$ |
successfull$ o "$" |
F2 | Visualizzare post | post$ |
title author date description$ |
F3 | Pubblicare contenuti | add title author data description$ |
successfull$ o invalid$ |
F4 | Cerca utente | user nickname$ |
surname name nickname email password image likes liked$ |
F5 | Like | like title$ |
successfull$ |
- F1: Login e registrazione
- F1.1: Login con username e password prefissati
- F1.2: Login con username e password scelti dall'utente
- F1.3: Registrazione
- F1.4: Controlla email valida e password con numeri e caratteri speciali
- F1.5: Controlla input vuoti nel login
- F1.6: Controlla che il nickname e la mail siano liberi
- F1.7: Utilizzare un metodo hash per cifrare le password
- F1.8: L'utente puo' scegliere un'immagine preimpostata
- F1.9: Modificare le piante del proprio account (aggiungi e rimuovi)
- F1.10: Modificare i dati
- F2: Visualizzare post
- F2.1: Vedere un post di prova
- F2.2: Leggere tutti i post da database
- F2.3: Vedere un post random
- F2.4: Visualizzare il post con una UI decente
- F2.5: Cambiare il post restituito in base agli interessi (input)
- F2.6: Visualizzare i post recenti (solo frontend)
- F3: Pubblicare contenuti
- F3.1: Scrivere un post sul database (aggiornando l'elenco di post effettuati da ogni persona)
- F3.2: Controllare i dati inseriti
- F4: Cerca utenti
- F4.1: Vedere tutti gli utenti presenti nel database
- F4.2: Cercare un utente in base al nickname
- F4.3: Visualizzare tutte le informazioni sull'utente in una form (like, piante...)
- F5: Interagire con i post
- F5.1: Like ai post
- F5.2: Commenti ai post
- UI:
- Cambia il design delle finestre secondarie
- Aggiungi dettagli piante
- Aggiunte varie
- Visualizzare se un utente è online
- Controlla le risposte delle richieste
- Immagini di profilo predefinite
- Data automatica quando compilo un nuovo post
- Aggiungi img profili
- Bug
- Compaiono popup a caso, magari toglili <3
- Quando faccio login e esco senza loggare, scompare il signup
- Responsive server
- Quando finisce registrazione, chiude form
- Quando il client chiede il post si chiude la form
- Restituire lo stesso post di fila
- Quando pubblico un post nella descrizione compare un $
- Se nel post pubblicato ci sono spazi da problemi
- Titolo univoco