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.gitInstalla le dipendenze richieste dal server e client
cd backend
npm install cd frontend/cryptobook
npm installAvvia il server
cd backend
npm startAvvia il client
cd frontend/cryptobook
npm startPer testare la web-app occorre andare sul browser e digitare il seguente URL
http://localhost:3000/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 |
|---|---|---|
username |
string |
Obbligatorio. Username |
password |
string |
Obbligatorio. Password |
POST http://localhost:5000/sign| Parametri | Tipo | Descrizione |
|---|---|---|
username |
string |
Obbligatorio. Username |
email |
string |
Obbligatorio. E-mail |
password |
string |
Obbligatorio. Password |
photo |
string |
Obbligatorio. Stringa Base64 Immagine Foto profilo |
GET http://localhost:5000/api/photo?username=:username| Parametri | Tipo | Descrizione |
|---|---|---|
username |
string |
Obbligatorio. Username |
GET http://localhost:5000/api/messages?user=:user&friend=:friend| Parametri | Tipo | Descrizione |
|---|---|---|
user |
string |
Obbligatorio. Utente loggato |
friend |
string |
Obbligatorio. Utente amico con cui avviene la chat |
POST http://localhost:5000/api/msg/encrypt| Parametri | Tipo | Descrizione |
|---|---|---|
message |
string |
Obbligatorio. Messaggio da inviare |
key |
string |
Obbligatorio. Chiave segreta per crittografare il messaggio |
POST http://localhost:5000/api/post/encrypt| Parametri | Tipo | Descrizione |
|---|---|---|
message |
string |
Obbligatorio. Post da inviare |
key |
string |
Obbligatorio. Chiave segreta per crittografare il post |
POST http://localhost:5000/api/comment/encrypt| Parametri | Tipo | Descrizione |
|---|---|---|
message |
string |
Obbligatorio. Commento da inviare |
key |
string |
Obbligatorio. Chiave segreta per crittografare il commento |
POST http://localhost:5000/api/msg/decrypt| Parametri | Tipo | Descrizione |
|---|---|---|
message |
string |
Obbligatorio. Messaggio inviato/ricevuto |
key |
string |
Obbligatorio. Chiave segreta per decrittografare il messaggio |
POST http://localhost:5000/api/post/decrypt| Parametri | Tipo | Descrizione |
|---|---|---|
message |
string |
Obbligatorio. Post inviato/ricevuto |
key |
string |
Obbligatorio. Chiave segreta per decrittografare il post |
POST http://localhost:5000/api/comment/decrypt| Parametri | Tipo | Descrizione |
|---|---|---|
message |
string |
Obbligatorio. Commento inviato/ricevuto |
key |
string |
Obbligatorio. Chiave segreta per decrittografare il commento |
POST http://localhost:5000/api/msg/send| Parametri | Tipo | Descrizione |
|---|---|---|
sender |
string |
Obbligatorio. Utente loggato |
receiver |
string |
Obbligatorio. Utente amico con cui avviene la chat |
message |
string |
Obbligatorio. Messaggio da inviare |
POST http://localhost:5000/api/post/send| Parametri | Tipo | Descrizione |
|---|---|---|
author |
string |
Obbligatorio. Utente loggato |
content |
string |
Obbligatorio. Messaggio da postare |
POST http://localhost:5000/api/comment/send| Parametri | Tipo | Descrizione |
|---|---|---|
idPost |
string |
Obbligatorio. Riferimento del post |
author |
string |
Obbligatorio. Utente loggato |
content |
string |
Obbligatorio. Messaggio di commento al post |
GET http://localhost:5000/api/posts?user=:user| Parametri | Tipo | Descrizione |
|---|---|---|
user |
string |
Obbligatorio. Utente loggato |
GET http://localhost:5000/api/posts/:user| Parametri | Tipo | Descrizione |
|---|---|---|
user |
string |
Obbligatorio. Utente loggato |
GET http://localhost:5000/api/friends?user=:user| Parametri | Tipo | Descrizione |
|---|---|---|
user |
string |
Obbligatorio. Utente loggato |
POST http://localhost:5000/api/friends| Parametri | Tipo | Descrizione |
|---|---|---|
user |
string |
Obbligatorio. Utente loggato |
friend |
string |
Obbligatorio. Username utente da aggiungere come amico |
POST http://localhost:5000/api/settings/password| Parametri | Tipo | Descrizione |
|---|---|---|
username |
string |
Obbligatorio. Username Utente loggato |
oldPassword |
string |
Obbligatorio. Password attuale |
newPassword |
string |
Obbligatorio. Nuova Password |
POST http://localhost:5000/api/settings/photo| Parametri | Tipo | Descrizione |
|---|---|---|
username |
string |
Obbligatorio. Username Utente loggato |
photo |
string |
Obbligatorio. Stringa Base64 Immagine Foto |
DELETE http://localhost:5000/api/settings/unsubscribe| Parametri | Tipo | Descrizione |
|---|---|---|
username |
string |
Obbligatorio. Username Utente loggato |
GET http://localhost:5000/api/users?exclude=:user| Parametri | Tipo | Descrizione |
|---|---|---|
user |
string |
Obbligatorio. Utente loggato |
POST http://localhost:5000/api/users| Parametri | Tipo | Descrizione |
|---|---|---|
sender |
string |
Obbligatorio. Utente loggato |
receiver |
string |
Obbligatorio. Username utente a cui richiedere l'amicizia |
GET http://localhost:5000/api/users/:user/followrequests/sended| Parametri | Tipo | Descrizione |
|---|---|---|
user |
string |
Obbligatorio. Utente loggato |
DELETE http://localhost:5000/api/users/:user/followrequests/sended| Parametri | Tipo | Descrizione |
|---|---|---|
user |
string |
Obbligatorio. Utente loggato |
friend |
string |
Obbligatorio. Username utente di cui rimuovere la richiesta di amicizia |
GET http://localhost:5000/api/users/:user/followrequests/received| Parametri | Tipo | Descrizione |
|---|---|---|
user |
string |
Obbligatorio. Utente loggato |
POST http://localhost:5000/api/users/:user/followrequests/received| Parametri | Tipo | Descrizione |
|---|---|---|
user |
string |
Obbligatorio. Utente loggato |
friend |
string |
Obbligatorio. Username utente di cui accettare la richiesta di amicizia |
DELETE http://localhost:5000/api/users/:user/followrequests/received| Parametri | Tipo | Descrizione |
|---|---|---|
user |
string |
Obbligatorio. Utente loggato |
friend |
string |
Obbligatorio. Username utente di cui rimuovere la richiesta di amicizia |
GET http://localhost:5000/api/users/:user| Parametri | Tipo | Descrizione |
|---|---|---|
user |
string |
Obbligatorio. 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 |
|---|---|---|
user |
string |
Obbligatorio. Utente loggato |
friend |
string |
Obbligatorio. Username utente di cui effettuare i controlli |
Matteo Tartaglione