Redis
├── rUser - 0
│ ├── nom.user : nom de l'utilisateur (String)
│ ├── password.user : Mot de passe (String)
│ ├── tweet.user : Liste des id des tweets (Array)
│ └── retweet.user : Liste des id des retweets (Array)
│
├── rTweet - 1
│ ├── tweet.id : Tweet correspondant à un id (String)
│ ├── retweet.id : Retweet correspondant à l'id d'un tweet et de l'utilisateur du tweet original (Dictionnaire)
│ └── sujet.sujet : Liste des id des tweets ayant ce sujet (Array)
- Inscription d'un utilisateur
- Connexion d'un utilisateur
- Création d'un tweet
- Création d'un retweet
- Retourner l'ensemble des tweets
- Retourner l'ensemble des sujets
- Retourner l'ensemble des utilisateurs
- Retourner les tweets d'un utilisateur
- Retourner les tweets d'un sujet
Permet d'inscrire un utilisateur dans la base de données REDIS
Méthode : POST
{
"nom": "Nom de l'utilisateur",
"password": "Mot de passe"
}
{
"message": "Bienvenue " + nom + "!",
"status": 200
}
ou
{
"message": "Le nom d'utilisateur " + nom + " n'est pas disponible.",
"status": 400
}
curl -X POST -H "Content-Type: application/json; charset=utf-8" --data "{\"nom\":\"Lucas\",\"password\":\"pechakuchaDeMerde\"}" http://localhost:5000/inscription
Permet de vérifier si un utilisateur est dans la base de données REDIS
Méthode : POST
{
"nom": "Nom de l'utilisateur",
"password": "Mot de passe"
}
{
"message": "Bienvenue " + nom + "!",
"status": 200
}
ou
{
"message": "Le nom d'utilisateur " + nom + " n'existe pas.",
"status": 400
}
ou
{
"message": "Le mot de passe est incorrect.",
"status": 400
}
curl -X POST -H "Content-Type: application/json; charset=utf-8" --data "{\"nom\":\"Lucas\",\"password\":\"pechakuchaDeMerde\"}" http://localhost:5000/connexion
Permet de créer un tweet
Méthode : POST
{
"nom": "Nom de l'utilisateur",
"tweet": "Tweet à poster",
}
{
"message": "Le tweet a bien été posté.",
"status": 200
}
ou
{
"message": "Le nom d'utilisateur " + nom + " n'existe pas.",
"status": 400
}
curl -X POST -H "Content-Type: application/json; charset=utf-8" --data "{\"nom\":\"Lucas\",\"tweet\":\"Salut l'elite, c'est El Pueblo, 18-25, 2 sucres #gange #pizza7Fromage\"}" http://localhost:5000/tweeter
Permet de retweeter un tweet
Méthode : POST
{
"nom": "Nom de l'utilisateur",
"id": "Id du tweet à retweeter",
"nom_user_tweet": "Nom de l'utilisateur qui a posté le tweet"
}
{
"message": "Le tweet a bien été retweeté.",
"status": 200
}
ou
{
"message": "Le nom d'utilisateur " + nom + " n'existe pas.",
"status": 400
}
ou
{
"message": "Le nom d'utilisateur " + nom_user_tweet + " n'existe pas.",
"status": 400
}
ou
{
"message": "Le tweet avec l'id " + str(id_tweet) + " n'existe pas.",
"status": 400
}
curl -X POST -H "Content-Type: application/json; charset=utf-8" --data "{\"nom\":\"Lucas\", \"nom_user_tweet\":\"Benjamin\", \"id\":\"1\"}" http://localhost:5000/retweet
Permet de retourner l'ensemble des tweets
Méthode : GET
{
"liste_tweet_final": [
{
"id": "Id du tweet",
"nom": "Nom de l'utilisateur",
"tweet": "Tweet"
}
],
"status": 200
}
curl -X GET http://localhost:5000/getAllTweets
Permet de retourner l'ensemble des sujets
Méthode : GET
{
"liste_sujets": [
"Sujet"
],
"status": 200
}
curl -X GET http://localhost:5000/getAllSujet
Permet de retourner l'ensemble des utilisateurs
Méthode : GET
{
"liste_utilisateurs": [
"Utilisateur"
],
"status": 200
}
curl -X GET http://localhost:5000/getAllUsers
Permet de retourner l'ensemble des tweets d'un utilisateur
Méthode : POST
{
"nom": "Nom de l'utilisateur"
}
{
"liste_tweet": [
{
"id": "Id du tweet",
"nom": "Nom de l'utilisateur",
"tweet": "Tweet"
}
],
"status": 200
}
ou
{
"message": "Le nom d'utilisateur " + nom + " n'existe pas.",
"status": 400
}
curl -X POST -H "Content-Type: application/json; charset=utf-8" --data "{\"nom\":\"Lucas\"}" http://localhost:5000/getAllTweetsByUser
Permet de retourner l'ensemble des tweets d'un sujet
Méthode : POST
{
"sujet": "Sujet"
}
{
"liste_tweet": [
{
"id": "Id du tweet",
"nom": "Nom de l'utilisateur",
"tweet": "Tweet"
}
],
"status": 200
}
ou
{
"message": "Le sujet " + sujet + " n'existe pas.",
"status": 400
}
curl -X POST -H "Content-Type: application/json; charset=utf-8" --data "{\"sujet\":\"gange\"}" http://localhost:5000/getAllTweetsBySujet
docker run --name myredis -p 6379:6379 redis
docker build . --tag imagebackend
docker run --name imagebackend -p 5000:5000 imagebackend