L'idea del progetto, ispirata al periodo di distanza che si è vissuto a causa del Covid-19, è stata quella di sviluppare una piattaforma web di condivisione per studenti e gruppi di studio.
Le funzionalità implementate sono le seguenti:
- Autenticazione utente
- Login utente
- Registrazione utente
- Gestione gruppo
- Creazione del gruppo
- Eliminazione del gruppo
- Sistema di invito al gruppo
- Visualizzazione membri del gruppo
- Gestione profilo utente
- Modifica indirizzo email
- Modifica della password
- Modifica dell'immagine di profilo utente
- Post e commenti
- Creazione di post con upload file all'interno dei gruppi
- Possibilità di commentare i post
- Eliminazione del post creato
- Chat real time del gruppo
- Possibilità di chattare in tempo reale con gli altri membri del gruppo attivi nello stesso momento
Per quanto riguarda il lato front-end è stata utilizzata la libreria ReactJS e parte delle classi css di Bootstrap, oltre alle utility di layout (Flex). Per quanto riguarda invece il back-end abbiamo utilzzato PostgreSQL per il database, PHP per gestire le richieste API degli utenti, e NodeJS per gestire il real time della chat. Nello specifico le richieste API son state sviluppate attraverso l'utilizzo del framework Codeigniter 3.1.11, mentre la gestione real time è stata sviluppata attraverso la libreria Socket.io.
Innanzitutto c'è bisogno di un Web Server, locale o non, e di npm.
Per il front-end basterà digitare il comando npm install
per installare tutte le dipendenze che sono nel file package.json
. Una volta installate, basterà digitare npm run start
e si avrà la versione di development attiva sulla porta 8080, altrimenti npm run build
per avere una versione di production.
Il back-end si divide in tre parti: il server PHP, il server NodeJS e il database. Iniziamo dal secondo che è più facile.
Come per il frontend bisogna digitare il comando npm install
e successivamente npm run start
, in questa maniera il server verrà avviato su una determinata porta.
Per il PHP, invece, bisogna importare tutto il contenuto della directory backend/server/
all'interno del web server che si sta usando (xampp, IIS, nginx, etc).
Per poter configuare il framework Codeigniter bisognerà andare nel file application/config/config.php
per modificare l'URL del proprio sito per le richieste API e in application/config/database.php
per modificare utente, password e database di postgresql.
Come ultimo passo andrà importato il database. La struttura di quest'ultimo si trova nel file back-end/database/structure.sql
. Basterà semplicemente importare questo file all'interno di un database postgresql.
© 2020 Andrea Gasparini & Edoardo Di Paolo.
Il progetto potrebbe presentare falle di sicurezza.