JeromeMSD / projet_devops-ilia-2024-5

Polytech Dijon - ILIA - Projet DevOps 2024/2025
3 stars 3 forks source link

Microservice - Réaction #4

Open BorisDjoum opened 5 months ago

BorisDjoum commented 5 months ago

Discutons sur le schema de l'api reaction : @Johanu66 , @agonglomarel7 , @Anna-Rafaella , @fodouopn

fodouopn commented 5 months ago

j'ai d'importantes questions

fodouopn commented 5 months ago

qu'es ce qu'on entend par REACTIONS ? Parceque la j'ai l'impression que c'est juste des emojis

BorisDjoum commented 5 months ago

Oui c'est juste les emojis.

Anna-Rafaella commented 5 months ago

Je vais commencer à rédiger le Readme

agonglomarel7 commented 5 months ago

Je résume les réactions comme suit :

eikayna commented 5 months ago

Je travaille sur les commentaires.

Anna-Rafaella commented 5 months ago

Du coup notre microservice est implémenté en utilisant Python et Flask pour créer l' API

Johanu66 commented 5 months ago

Avec @agonglomarel7, nous avons discuté avec le professeur et nous sommes convenus qu’un tel service bénéficierait d’une base de données NoSQL, comme Redis. Cette solution semble plus adaptée en raison de sa capacité à gérer efficacement les données en temps réel et à offrir des performances élevées pour les opérations fréquentes et rapides. Y a-t-il des commentaires à ce sujet ? Nous sommes ouverts à toute suggestion ou retour.

Avec le groupe de tweet, nous avons établi qu'ils se concentreraient sur la gestion des retweets. De notre côté, nous allons nous occuper du volet "réactions", qui inclut :

  1. Gestion des Commentaires : Développement d'une fonctionnalité permettant aux utilisateurs de commenter les tweets, avec un système de hiérarchisation ou de fil de discussion.

  2. Suivi des Émotions (Reactions Emojis) : Ajout de réactions basées sur des emojis pour exprimer différentes émotions ou sentiments envers un tweet ou un commentaire.

Des commentaires ????

fodouopn commented 5 months ago

image

si je comprends bien , on doit juste s'occuper des informations a envoyer au frontend (cercle en rouge) et de ceux que le frontend doit nous envoyer ( en bleu ) cest ca?

Johanu66 commented 5 months ago

Oui, mais on doit également pouvoir stocker qui a liké ou qui a commenté.

Anna-Rafaella commented 5 months ago

Ceci est ma proposition concernant l'architecture de notre microservice. Gestion_Reactions drawio Structure du schéma

Frontend (Interface Utilisateur) Fonction : L'utilisateur interagit avec l'interface pour liker et commenter des tweets. Les requêtes HTTP sont envoyées au microservice "Gestion des Réactions".

Microservice "Gestion des Réactions"

Fonction : Ce microservice gère les likes et les commentaires. Il reçoit les requêtes HTTP de l'interface utilisateur et interagit avec Redis pour stocker les informations des réactions. Routes principales : Indiquez les routes principales sous forme de texte à côté du microservice (par exemple, POST /like, POST /comment, GET /likes/{tweet_id}, GET /comments/{tweet_id}).

Redis

Fonction : Redis stocke les informations des likes et des commentaires. Vous pouvez avoir deux bases de données distinctes dans Redis : Une pour les likes (clé like:{tweet_id}, valeur [user1, user2, user3]). Une pour les commentaires (clé comment:{tweet_id}, valeur [{"user": "user1", "comment": "Nice tweet!"}, {"user": "user2", "comment": "I agree!"}]).

Microservice "Gestion des Tweets"

Fonction : Ce microservice gère les tweets eux-mêmes. Il permet de récupérer un tweet à commenter ou liker. Ce microservice interagit avec le microservice "Gestion des Réactions" pour gérer les interactions sur les tweets.

Microservice "Gestion des Profils Utilisateurs"

Fonction : Ce microservice gère les profils des utilisateurs. Lorsqu'un utilisateur like ou commente un tweet, son profil peut être mis à jour ou vérifié.

eikayna commented 5 months ago

Proposition d'Optimisation pour le Microservice des Réactions

1. Étendre les Fonctionnalités

Ajouter des fonctionnalités avancées pour répondre aux besoins évolutifs :

2. Optimisation des Données avec Redis

Améliorer la gestion des données et leur récupération :

3. Sécurité et Intégrité

Assurer un contrôle strict des données :

4. Routes Proposées

Architecture Technique Complète

  1. Frontend :
    • Requêtes pour afficher les tweets et gérer les interactions.
  2. Microservice Réactions :
    • Traitement des actions de l’utilisateur.
    • Interaction avec Redis pour stocker et récupérer les données.
  3. Redis :
    • Stockage structuré et optimisé pour les réactions et commentaires.
  4. Microservice Profils :
    • Validation des utilisateurs.
    • Mise à jour des informations utilisateur après interaction.
  5. Microservice Tweets :
    • Gestion des tweets eux-mêmes (contenu, publication, suppression).