Skip to content

Instantly share code, notes, and snippets.

@bhubr
Last active November 9, 2020 14:36
Show Gist options
  • Save bhubr/49f296accb8ef6d07f0a8e25bc630c78 to your computer and use it in GitHub Desktop.
Save bhubr/49f296accb8ef6d07f0a8e25bc630c78 to your computer and use it in GitHub Desktop.
Spec application de chat

Application de chat

Scope

L'app tend à reproduire la partie chat de Facebook.

  • Possibilité d'authentification par :

    • au moins email + mot de passe
    • éventuellement un ou plusieurs réseau(x) social(aux) : Google et/ou GitHub
  • Barre latérale indiquant la liste des contacts et leur état, avec mise à jour en temps réel (Firebase le permet)

  • Possibilité de chercher un contact par son nom

  • Icône dans la navbar indiquant le nombre total de messages non-lus

  • Quand on clique sur l'avatar d'un contact, cela ouvre la fenêtre de chat avec ce contact (à voir si on autorise plusieurs fenêtres de chat en même temps, comme Facebook sur desktop, ou une seule). Cela pour effet de marquer les messages non-lus de ce contact comme lus.

  • Quand on envoie un message, celui-ci est reçu immédiatement de l'autre côté

Partie technique

  • Utiliser Firebase Realtime Database ou Firestore, et Firebase Authentication

  • Il y aura probablement une certaine réflexion sur : comment structurer les données dans la database

  • Pour le layout, vous pouvez :

  • Ce serait top d'intégrer des tests ! Ceci risque de poser la question du "couplage" entre vos composants et Firebase. Il faudra (je pense) réfléchir à une petite couche d'abstraction entre vos composants et le SDK Firebase.

  • Bien sûr vous êtes bienvenus pour toute question sur un des points précédents, car je vous lance un peu en terre inconnue !

Ressources

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment