Accueilgroupomania illustration banner

Groupomania

Groupomania le projet 7 de la formation développeur web chez Openclassrooms. Le projet consiste en la réalisation du MVP d’un réseau social interne pour l’entreprise fictive “groupomania”.

Choix techniques

Le choix des technologies est laissé libre tant qu’un framework front-end est utilisé et que tout est fait en Javascript (front comme back). L’utilisation d’une base de données non relationnelle était interdite.

Choix front-end

Côté front-end, j’ai personnellement décidé de partir sur la librairie React.js avec le meta-framework Next.js. On peut aussi noter l’utilisation de tailwindcss, headless UI et heroicons pour l’interface, swr et axios pour la gestion des requêtes https et du cache ainsi que days.js pour le traitement des dates. eslint est utilisé pour garantir une qualité de code optimale.

Choix back-end

Pour le back-end, j’ai utilisé Fastify (alternative à Express.js, voir pourquoi ?) avec Prisma ORM.

Swagger est utilisé pour la documentation automatiquement générée ainsi qu’eslint pour la qualité du code.

Fonctionnalités

Les fonctionnalités principales sont les suivantes :

  • Authentification
    • Gestion de l’authentification via JWT (JSON Web Token)
    • Création d’un page de création de compte et d’une page de connexion
  • Gestion utilisateur avec photo de profil, adresse e-mail et pseudonyme modifiable
  • Création et modification (de ses publications uniquement) de publications contenant des GIFs
  • Ajout et modification de commentaires sur n’importe quelle publications.

Commentaires