Componenti del gruppo:
Descrizione: ContentAggregator è un’applicazione che punta ad aggregare contenuti fruibili da differenti piattaforme online. I contenuti identificabili tramite URL, possono essere di diversa tipologia (video, immagini, articoli, ecc.) e di diversa categoria (notizie, cucina, sport, tecnologia, ecc.). Possono essere filtrati in base alla tipologia, alla categoria e al luogo di interesse. L’app prevede tre diversi ruoli:
- utente non registrato: può visualizzare parte dei contenuti senza poterci interagire; può registrarsi al servizio attraverso il servizio stesso oppure mediante Google o Twitter (tramite OAuth);
- utente registrato: ha la possibilità di modificare le informazioni del proprio profilo e di eliminarlo; può creare post, visualizzabili nella home e nella propria pagina profilo, e interagire con essi attraverso operazioni di modifica ed eliminazione; può inoltre interagire con i post di qualsiasi utente mediante le operazioni di aggiunta ai preferiti (che li renderà visibili nella propria pagina di profilo), segnalazione e commento;
- admin: ha la possibilità di visualizzare i post segnalati e di eliminarli.
L’app prevede la possibilità di effettuare una ricerca degli utenti registrati e l’interazione tra essi mediante l’operazione “segui”, che renderà i post dell’utente seguito visualizzabili nella propria home page. È inoltre presente un help-bot col quale è possibile interagire per accedere a informazioni di carattere generale.
API esterne:
- Twitter (interazione tweet);
- OpenWeather (meteo);
- News;
- Google Safe Browsing (affidabilità link).
- Come utente registrato, voglio creare un post, da inserire al feed;
- Come utente registrato, voglio visualizzare un post nel feed;
- Come utente registrato, voglio modificare un post del feed;
- Come utente registrato, voglio eliminare un post del feed;
- Come utente registrato, voglio mettere “preferito” ad un post del feed;
- Come utente registrato, voglio segnalare un post del feed;
- Come utente registrato o non registrato, voglio visualizzare un articolo (NewsAPI) nel feed;
- Come utente registrato, voglio mettere “preferito” ad un articolo (NewsAPI) del feed;
- Come utente registrato, voglio segnalare un articolo (NewsAPI) del feed;
- Come utente registrato o non registrato, voglio visualizzare una playlist (Spotify API) nel feed;
- Come utente registrato, voglio mettere “preferito” ad una playlist (Spotify API) del feed;
- Come utente registrato, voglio segnalare una playlist (Spotify API) del feed;
- Come utente registrato o non registrato, voglio visualizzare il meteo (OpenWeather API) nel feed;
- Come admin, voglio visualizzare post segnalato;
- Come admin, voglio eliminare post segnalato;
- Come admin, voglio eliminare gli altri account;
- Come utente registrato, voglio aggiungere un commento collegato ad un post od un articolo (NewsAPI) del feed;
- Come utente registrato o non registrato, voglio selezionare la categoria (notizie, cucina, sport, tecnologia, ecc.) degli articoli (NewsAPI) del feed;
- Come utente registrato o non registrato, voglio selezionare la tipologia dei contenuti del feed;
- Come utente registrato o non registrato, voglio selezionare il luogo geografico degli articoli (NewsAPI) del feed;
- Come utente registrato o non registrato, voglio selezionare il luogo geografico del meteo (OpenWeather API) del feed;
- Come utente registrato, voglio accedere all’help-bot (informazioni, contatti);
- Come utente non registrato, voglio creare un profilo locale;
- Come utente non registrato, voglio creare un profilo con OAuth Google API;
- Come utente non registrato, voglio creare un profilo con OAuth Twitter API;
- Come utente registrato, voglio modificare il nome;
- Come utente registrato, voglio modificare il cognome;
- Come utente registrato, voglio modificare l’immagine di profilo;
- Come utente registrato, voglio modificare lo username;
- Come utente registrato, voglio modificare la password;
- Come utente registrato, voglio eliminare l’account;
- Come utente registrato, voglio visualizzare i post creati nella pagina profilo;
- Come utente registrato, voglio eliminare i post creati dalla pagina profilo;
- Come utente registrato, voglio visualizzare i post modificati nella pagina profilo;
- Come utente registrato, voglio eliminare i post modificati dalla pagina profilo;
- Come utente registrato, voglio visualizzare i post “preferiti” nella pagina profilo;
- Come utente registrato, voglio eliminare i post “preferiti” dalla pagina profilo;
- Come utente registrato, voglio visualizzare i post segnalati nella pagina profilo;
- Come utente registrato, voglio eliminare i post segnalati dalla pagina profilo;
- Come utente registrato, voglio visualizzare gli articoli (NewsAPI) “preferiti” nella pagina profilo;
- Come utente registrato, voglio eliminare gli articoli (NewsAPI) “preferiti” dalla pagina profilo;
- Come utente registrato, voglio visualizzare gli articoli (NewsAPI) segnalati nella pagina profilo;
- Come utente registrato, voglio eliminare gli articoli (NewsAPI) segnalati dalla pagina profilo;
- Come utente registrato, voglio visualizzare le playlist (Spotify API) “preferiti” nella pagina profilo;
- Come utente registrato, voglio eliminare le playlist (Spotify API) “preferiti” dalla pagina profilo;
- Come utente registrato, voglio visualizzare le playlist (Spotify API) segnalati nella pagina profilo;
- Come utente registrato, voglio eliminare le playlist (Spotify API) segnalati dalla pagina profilo;
- Come utente registrato e non, voglio ricercare utenti registrati;
- Come utente registrato e non, voglio visualizzare la pagina profilo degli utenti;
- Come utente registrato, voglio visualizzare gli utenti registrati seguiti;
bundle install
EDITOR="code --wait" bin/rails credentials:edit
rails db:migrate
rails db:seed
rails db:reset
rails server
cucumber
cucumber --tags @user
rspec