Site vitrine et réservation clients pour EATECH : présentation des services, studios, décors, prise de rendez-vous et panier.
Ce dépôt est le frontend public de l’écosystème EATECH. Les clients y consultent les services, choisissent un décor et un créneau, et gèrent leur panier. Il s’appuie sur l’API du backend_eatech. Le backoffice_eatech est l’interface d’administration (séparée).
Chaque dépôt a son propre Git et peut être déployé séparément.
- React 19 — Vite 7
- React Router — routes (publique + protégées)
- GSAP — animations
- Swiper — carrousels
- i18next / react-i18next — internationalisation
- Axios — appels API (base URL via
VITE_API_BASE_URL) - Lucide React — icônes
frontend_eatech/
├── public/
├── src/
│ ├── components/
│ │ ├── calendar/ # Calendrier de réservation
│ │ ├── decors/ # Cartes décors, liste
│ │ ├── footer/, header/, hero/
│ │ ├── modal/ # Modales
│ │ ├── photographysets/
│ │ ├── portfolio/, services/, stepsIndicator/
│ │ ├── studios/ # Liste des studios
│ │ ├── timepicker/ # Sélection horaire
│ │ └── BookingButton.jsx, ProtectedRoute.jsx
│ ├── contexts/ # AuthContext, LanguageContext, ThemeContext
│ ├── data/ # services.json (données statiques)
│ ├── pages/ # Home, BookingPage, Cart, Login, Register, ForgotPassword, NotFound
│ ├── styles/ # variables.css
│ ├── utils/ # axiosInstance (API + intercepteurs JWT)
│ ├── App.jsx, main.jsx
│ └── index.css
├── index.html
├── package.json
├── vite.config.js
├── .env # VITE_API_BASE_URL
└── README.md
- Vitrine : accueil, services, studios, décors (sets photo), portfolio.
- Réservation : choix du décor, calendrier, créneau horaire, ajout au panier (BookingPage).
- Panier : affichage et gestion du panier (Cart).
- Compte client : inscription, connexion, mot de passe oublié (Register, Login, ForgotPassword).
- Internationalisation : langue (i18next).
- Thème : thème clair/sombre (ThemeContext).
- Node.js 18+ (recommandé 20+)
- Backend EATECH lancé et accessible (pour l’API)
-
Cloner le dépôt et se placer dans le dossier :
cd frontend_eatech -
Installer les dépendances :
npm install
-
Créer un fichier
.envà la racine avec l’URL de l’API :VITE_API_BASE_URL=http://127.0.0.1:8000/api
-
Lancer en développement :
npm run dev
Le site est servi sur le port indiqué par Vite (souvent http://localhost:5174 ou 5173 si un seul projet tourne).
-
Build de production :
npm run build
Sortie dans
dist/. Déployer sur un hébergement statique ou un serveur web.
| Variable | Description |
|---|---|
VITE_API_BASE_URL |
URL de base de l’API backend (ex. http://127.0.0.1:8000/api) |
- CORS : le backend doit autoriser l’origine du frontend dans
CORS_ALLOWED_ORIGINS. - HTTPS : en production, utiliser
https://pour l’API et le site. - i18n : centraliser les clés de traduction et ajouter les langues nécessaires.
- SEO : métadonnées, balises titre et description par page ; éventuellement SSR (ex. Vite + React SSR) si besoin.
npm run dev— serveur de développementnpm run build— build de productionnpm run preview— prévisualisation du buildnpm run lint— ESLint
Projet EATECH — usage interne ou selon accord.