Ce dépôt contient le client frontend du projet : une application React en TypeScript créée avec Vite, incluant des pages d'authentification simples (connexion/inscription) qui communiquent avec l'API backend NodeJS-setup-back.
- Framework : React avec TypeScript
- Bundler : Vite (serveur dev rapide et build optimisé)
- Styles : CSS local / fichiers CSS simples (voir
src/App.css,src/index.css) - État & auth : contexte léger dans
src/context/AuthContext.tsxet hooks danssrc/hooks - Client API :
src/api/client.tsetsrc/api/auth.tspour les appels HTTP vers le backend
- Formulaires de connexion et d'inscription (
src/components/LoginForm.tsx,src/components/RegisterForm.tsx) - Contexte d'authentification pour stocker le token et les informations utilisateur
- Mécanismes pour appeler des routes protégées (ex.
GET /api/users/me) - Exemples de tests avec
vitest/ React Testing Library soussrc/test
- Installer les dépendances :
npm install
- Lancer le serveur de développement :
npm run dev
- Ouvrir l'application dans le navigateur (Vite affichera l'URL, généralement
http://localhost:5173).
Le frontend attend que l'API backend soit accessible. L'URL de base de l'API est configurée dans src/api/client.ts — ajustez-la si nécessaire pour pointer vers votre serveur backend.
URL backend typique en local :
http://localhost:3000
Si vous lancez les deux services via Docker Compose, assurez-vous que le frontend peut joindre l'adresse exposée par le backend, ou exécutez le frontend localement et pointez-le sur http://localhost:3000.
npm run dev— démarrer le serveur Vite en devnpm run build— construire les fichiers pour la productionnpm run preview— prévisualiser localement le build de productionnpm test— exécuter les tests (voirpackage.json)
- L'utilisateur envoie ses identifiants à
POST /api/auth/login(géré parsrc/api/auth.ts). - Le backend renvoie un token JWT d'accès (et éventuellement un refresh token).
- Le frontend conserve le token en mémoire via
AuthContextet l'envoie dans l'en-têteAuthorization: Bearer <token>pour les requêtes protégées.
Pour la production, envisagez d'utiliser des cookies httpOnly et sécurisés pour les refresh tokens plutôt que le stockage local.
- Les tests unitaires et composants se trouvent sous
src/test. Lancez-les avec :
npm test
Vous pouvez conteneuriser le frontend ou servir les fichiers construits via un serveur statique. Pour le développement local, exécuter Vite est plus rapide.
Pour construire le bundle de production :
npm run build
Pour prévisualiser le build de production :
npm run preview
- Entrée de l'application :
src/main.tsxetsrc/App.tsx - Client API :
src/api/client.tsetsrc/api/auth.ts - Contexte d'auth :
src/context/AuthContext.tsx - Composants :
src/components/LoginForm.tsx,src/components/RegisterForm.tsx
Ce frontend est conçu pour être utilisé avec le backend NodeJS-setup-back afin d'illustrer un flux d'authentification minimal et complet. Ajustez les URL et la configuration d'environnement pour votre déploiement.