CryptoBook è un social network che permette di scambiare e crittografare i messaggi/posts.
Front-end: React, Bootstrap
Back-end: Node, Express
Database: MongoDB, Mongoose
Version Control System: Git
Aver installato i seguenti software:
Scarica il progetto
git clone https://github.com/MatteoT92/cryptobook.git Installa le dipendenze richieste dal server e client
cd frontend/cryptobook
npm installAvvia il server
Avvia il client
cd frontend/cryptobook
npm startPer testare la web-app occorre andare sul browser e digitare il seguente URL
Nel caso vogliate testare le API, costruite per far funzionare l'applicazione, potete utilizzare Postman ed effettuare le varie chiamate che desiderate testare.
POST http://localhost:5000/login Parametri Tipo Descrizione usernamestringObbligatorio . UsernamepasswordstringObbligatorio . Password
POST http://localhost:5000/sign Parametri Tipo Descrizione usernamestringObbligatorio . UsernameemailstringObbligatorio . E-mailpasswordstringObbligatorio . PasswordphotostringObbligatorio . Stringa Base64 Immagine Foto profilo
Ricerca foto profilo dell'utente GET http://localhost:5000/api/photo?username=:username Parametri Tipo Descrizione usernamestringObbligatorio . Username
Ricerca i messaggi scambiati fra due utenti GET http://localhost:5000/api/messages?user=:user&friend=:friend Parametri Tipo Descrizione userstringObbligatorio . Utente loggatofriendstringObbligatorio . Utente amico con cui avviene la chat
Effettua la crittografia del messaggio da inviare POST http://localhost:5000/api/msg/encrypt Parametri Tipo Descrizione messagestringObbligatorio . Messaggio da inviarekeystringObbligatorio . Chiave segreta per crittografare il messaggio
Effettua la crittografia del post da inviare POST http://localhost:5000/api/post/encrypt Parametri Tipo Descrizione messagestringObbligatorio . Post da inviarekeystringObbligatorio . Chiave segreta per crittografare il post
Effettua la crittografia del commento al post da inviare POST http://localhost:5000/api/comment/encrypt Parametri Tipo Descrizione messagestringObbligatorio . Commento da inviarekeystringObbligatorio . Chiave segreta per crittografare il commento
Effettua la decrittografia del messaggio inviato/ricevuto POST http://localhost:5000/api/msg/decrypt Parametri Tipo Descrizione messagestringObbligatorio . Messaggio inviato/ricevutokeystringObbligatorio . Chiave segreta per decrittografare il messaggio
Effettua la decrittografia del post inviato/ricevuto POST http://localhost:5000/api/post/decrypt Parametri Tipo Descrizione messagestringObbligatorio . Post inviato/ricevutokeystringObbligatorio . Chiave segreta per decrittografare il post
Effettua la decrittografia del commento al post inviato/ricevuto POST http://localhost:5000/api/comment/decrypt Parametri Tipo Descrizione messagestringObbligatorio . Commento inviato/ricevutokeystringObbligatorio . Chiave segreta per decrittografare il commento
Effettua l'invio del messaggio in chat POST http://localhost:5000/api/msg/send Parametri Tipo Descrizione senderstringObbligatorio . Utente loggatoreceiverstringObbligatorio . Utente amico con cui avviene la chatmessagestringObbligatorio . Messaggio da inviare
Effettua l'invio e pubblicazione del post POST http://localhost:5000/api/post/send Parametri Tipo Descrizione authorstringObbligatorio . Utente loggatocontentstringObbligatorio . Messaggio da postare
Effettua l'invio e pubblicazione del commento al post POST http://localhost:5000/api/comment/send Parametri Tipo Descrizione idPoststringObbligatorio . Riferimento del postauthorstringObbligatorio . Utente loggatocontentstringObbligatorio . Messaggio di commento al post
Ricerca tutti i post in cui un utente è abilitato a visualizzare GET http://localhost:5000/api/posts?user=:user Parametri Tipo Descrizione userstringObbligatorio . Utente loggato
Ricerca tutti i post pubblicati da un utente GET http://localhost:5000/api/posts/:user Parametri Tipo Descrizione userstringObbligatorio . Utente loggato
Ricerca tutti gli amici di un utente GET http://localhost:5000/api/friends?user=:user Parametri Tipo Descrizione userstringObbligatorio . Utente loggato
Effettua l'inserimento di un utente come amico POST http://localhost:5000/api/friends Parametri Tipo Descrizione userstringObbligatorio . Utente loggatofriendstringObbligatorio . Username utente da aggiungere come amico
Effettua il cambio della password POST http://localhost:5000/api/settings/password Parametri Tipo Descrizione usernamestringObbligatorio . Username Utente loggatooldPasswordstringObbligatorio . Password attualenewPasswordstringObbligatorio . Nuova Password
Effettua il cambio della foto profilo POST http://localhost:5000/api/settings/photo Parametri Tipo Descrizione usernamestringObbligatorio . Username Utente loggatophotostringObbligatorio . Stringa Base64 Immagine Foto
Effettua la disiscrizione DELETE http://localhost:5000/api/settings/unsubscribe Parametri Tipo Descrizione usernamestringObbligatorio . Username Utente loggato
Effettua la ricerca degli utenti iscritti a cui richiedere l'amicizia GET http://localhost:5000/api/users?exclude=:user Parametri Tipo Descrizione userstringObbligatorio . Utente loggato
Effettua la richiesta di amicizia ad un utente POST http://localhost:5000/api/users Parametri Tipo Descrizione senderstringObbligatorio . Utente loggatoreceiverstringObbligatorio . Username utente a cui richiedere l'amicizia
Effettua la ricerca di tutte le richieste di amicizia inviate da un utente GET http://localhost:5000/api/users/:user/followrequests/sended Parametri Tipo Descrizione userstringObbligatorio . Utente loggato
Effettua la rimozione di una richiesta di amicizia inviata da un utente DELETE http://localhost:5000/api/users/:user/followrequests/sended Parametri Tipo Descrizione userstringObbligatorio . Utente loggatofriendstringObbligatorio . Username utente di cui rimuovere la richiesta di amicizia
Effettua la ricerca di tutte le richieste di amicizia ricevute da un utente GET http://localhost:5000/api/users/:user/followrequests/received Parametri Tipo Descrizione userstringObbligatorio . Utente loggato
Effettua l'accettazione di una richiesta di amicizia ricevuta da un utente POST http://localhost:5000/api/users/:user/followrequests/received Parametri Tipo Descrizione userstringObbligatorio . Utente loggatofriendstringObbligatorio . Username utente di cui accettare la richiesta di amicizia
Effettua la rimozione di una richiesta di amicizia ricevuta da un utente DELETE http://localhost:5000/api/users/:user/followrequests/received Parametri Tipo Descrizione userstringObbligatorio . Utente loggatofriendstringObbligatorio . Username utente di cui rimuovere la richiesta di amicizia
Effettua la ricerca dello username di un id utente GET http://localhost:5000/api/users/:user Parametri Tipo Descrizione userstringObbligatorio . Riferimento Utente
Effettua dei controlli sul parametro "friend" per verificare se lo username è già presente come amico, richiesta inviata e richiesta ricevuta GET http://localhost:5000/api/users/:user/:friend Parametri Tipo Descrizione userstringObbligatorio . Utente loggatofriendstringObbligatorio . Username utente di cui effettuare i controlli
Matteo Tartaglione