CineVault

CineVault est une application de watchlist de films et séries qui permet aux utilisateurs de rechercher des titres, consulter des informations détaillées et enregistrer les titres qu'ils souhaitent regarder plus tard. Ce projet a débuté comme un projet solo dans le cadre du parcours Scrimba Full Stack Developer, où le design initial et les fonctionnalités de base étaient fournis comme point de départ. Plutôt que de m'arrêter aux exigences données, j'ai considérablement étendu le projet en implémentant l'authentification utilisateur, en construisant un backend complet avec Express et PostgreSQL, et en ajoutant une fonctionnalité de watchlist persistante permettant à chaque utilisateur de gérer sa collection de façon sécurisée sur différentes sessions et appareils.

ReactTypeScriptExpressPostgreSQLJWT
A screenshot of CineVault app

Objectif du Projet

J'ai construit ce projet pour acquérir une expérience pratique dans le développement d'une application full-stack de bout en bout. Il combine un frontend React moderne avec un backend basé sur Express et PostgreSQL, tout en intégrant l'API OMDb pour fournir des données de films en temps réel. L'application implémente également une authentification JWT avec rotation des refresh tokens afin d'assurer une expérience utilisateur sécurisée.

Spotlight

L'un des principaux défis était de concevoir un flux d'authentification sécurisé qui offre une expérience fluide du point de vue de l'utilisateur. J'ai passé beaucoup de temps à rechercher comment les access tokens, refresh tokens et la rotation de tokens fonctionnent ensemble avant d'implémenter la solution. Un autre défi était de décider comment les données de films devaient circuler entre l'API OMDb, le backend et le frontend tout en gardant l'application réactive et maintenable. La construction de la fonctionnalité de watchlist a également nécessité une planification minutieuse pour s'assurer que chaque utilisateur puisse gérer ses données en toute sécurité sans exposer les données des autres utilisateurs.

Ce Que J'ai Appris

Ce projet m'a donné une compréhension bien plus profonde de la façon dont les applications frontend et backend communiquent dans un environnement réel. J'ai appris à concevoir des APIs REST, structurer une base de données PostgreSQL, implémenter une authentification sécurisée et gérer l'état de l'application sur plusieurs pages. Au-delà des compétences techniques, j'ai acquis de l'expérience dans le débogage de problèmes complexes, la recherche de concepts inconnus et la capacité à décomposer des problèmes complexes en tâches plus petites et gérables.

Autres Projets

A screenshot of Quizzical app

Quizzical

Une application de quiz qui permet aux utilisateurs de choisir une catégorie, une difficulté et un type de questions, puis de tester leurs connaissances.

VOIR LE PROJET >