SAE32 : Application de Chat en Temps Réel

Description du Projet

Ce projet consiste à développer une application communicante de messagerie instantanée. L'application permet aux utilisateurs de s'inscrire, de se connecter et d'envoyer des messages en temps réel. Chaque message affiche l'auteur, le contenu, la date d'envoi ainsi qu’un score dynamique déterminé par le nombre de "likes". Un système de "like" unique par utilisateur pour chaque message garantit l'intégrité du score. Ces fonctionnalités répondent ainsi aux exigences définies dans le cahier des charges. :contentReference[oaicite:0]{index=0}

Spécifications et Cahier des Charges

  • Inscription et connexion sécurisées via Firebase Authentication.
  • Envoi et affichage immédiat des messages avec stockage dans Firestore.
  • Gestion des "likes" avec un système unique par utilisateur et recalcul dynamique du score.
  • Interface utilisateur intuitive, ergonomique et responsive sur tablettes et smartphones.
  • Temps de réponse minimal pour une expérience utilisateur optimale.

Le cahier des charges établi a permis de définir à la fois les besoins fonctionnels (gestion des utilisateurs, messagerie instantanée, tri des messages) et non fonctionnels (sécurité, ergonomie, compatibilité multiplateforme). :contentReference[oaicite:1]{index=1}

Conception & Schémas

La conception de l'application s'est appuyée sur une modélisation orientée objet. Un diagramme de classe a été réalisé pour représenter les entités principales telles que Utilisateur, Message et Like, ainsi que leurs relations. Ce schéma permet de visualiser la structure de l'application et de comprendre la gestion des interactions entre les différents composants. :contentReference[oaicite:2]{index=2}

Le diagramme illustre la relation entre les utilisateurs et leurs messages, ainsi que le système de "likes" qui permet de calculer un score pour chaque message.

Développement et Tests

Le développement a été réalisé sous Android Studio en utilisant le langage Java. Les étapes clés comprennent :

  1. Configuration du projet : Mise en place d'un projet Android intégré avec Firebase pour l'authentification et Firestore pour le stockage des données.
  2. Création des interfaces : Développement des pages d'inscription, de connexion et de messagerie avec une interface moderne et responsive.
  3. Implémentation des fonctionnalités :
    • Système d'inscription et de connexion sécurisée.
    • Envoi et affichage des messages en temps réel.
    • Gestion des "likes" et tri dynamique des messages par score et date.
  4. Tests et Validation : Vérification du bon fonctionnement de l'application sur différents appareils. Deux comptes de test ont été utilisés :
    • Utilisateur 1 : test1@example.com / Mot de passe : Test1234
    • Utilisateur 2 : test2@example.com / Mot de passe : Test5678

Technologies Utilisées

  • Java (Android)
  • Android Studio
  • Firebase Authentication
  • Firestore
  • Firebase Console
Retour à la liste des projets