Interface utilisateur web pour la plateforme Ecodeli, une application de livraison écologique et de services personnalisés. Cette application est construite avec SvelteKit et offre une expérience utilisateur moderne et responsive.
- 🏠 Page d'accueil - Présentation de la plateforme et services
- 🔐 Authentification - Connexion/inscription sécurisée
- 👤 Espace utilisateur - Gestion du profil et des commandes
- 🚚 Suivi de livraison - Suivi en temps réel des commandes
- 💬 Messagerie - Communication avec les livreurs et fournisseurs
- 📱 Interface responsive - Optimisée pour mobile et desktop
- 🌍 Internationalisation - Support multi-langues avec Inlang
- 🎨 Design moderne - Interface utilisateur avec Tailwind CSS et DaisyUI
- 📊 Tableau de bord - Statistiques et gestion des commandes
- ⭐ Système de notation - Évaluation des services
- Node.js (version 18 ou supérieure)
- npm ou yarn
- Backend Ecodeli en cours d'exécution
# Cloner le repository
git clone <repository-url>
cd ecodeli-frontend-sveltekit
# Installer les dépendances
npm install
# Copier le fichier d'environnement
cp .env.example .env
# Configurer les variables d'environnement dans .envCréez un fichier .env à la racine du projet avec les variables suivantes :
# API Backend
PUBLIC_API_URL=http://localhost:3000
PUBLIC_WS_URL=ws://localhost:3000
# Application
PUBLIC_APP_NAME=Ecodeli
PUBLIC_APP_VERSION=1.0.0
# Fonctionnalités
PUBLIC_ENABLE_ANALYTICS=false
PUBLIC_ENABLE_DEBUG=false# Mode développement
npm run dev
# Mode développement avec ouverture automatique du navigateur
npm run dev -- --open
# Mode production
npm run build
npm run previewnpm run dev- Démarrer le serveur de développementnpm run build- Construire l'application pour la productionnpm run preview- Prévisualiser la version de productionnpm run check- Vérifier les types TypeScriptnpm run check:watch- Vérifier les types en mode watchnpm run format- Formater le code avec Prettiernpm run lint- Linter le codenpm run machine-translate- Traduire automatiquement les textes
src/
├── app.html # Template HTML principal
├── app.css # Styles globaux
├── app.d.ts # Types globaux
├── lib/
│ ├── components/ # Composants réutilisables
│ │ ├── ui/ # Composants d'interface
│ │ ├── forms/ # Composants de formulaires
│ │ └── layout/ # Composants de mise en page
│ ├── stores/ # Stores Svelte (état global)
│ ├── types/ # Types TypeScript
│ └── utils/ # Utilitaires et helpers
├── routes/
│ ├── +layout.svelte # Layout principal
│ ├── +page.svelte # Page d'accueil
│ ├── auth/ # Pages d'authentification
│ ├── app/ # Pages de l'application
│ ├── admin/ # Pages d'administration
│ ├── track/ # Suivi de commandes
│ ├── rate/ # Système de notation
│ └── legal/ # Pages légales
└── static/
└── images/ # Images et assets
- SvelteKit - Framework web moderne
- TypeScript - Typage statique
- Tailwind CSS - Framework CSS utilitaire
- DaisyUI - Composants UI pour Tailwind
- Socket.IO - Communication en temps réel
- Monaco Editor - Éditeur de code intégré
- FullCalendar - Composant de calendrier
- Inlang - Internationalisation
- JWT Decode - Gestion des tokens JWT
# Installer Vercel CLI
npm i -g vercel
# Déployer
vercel# Construire l'application
npm run build
# Déployer le dossier build/# Construire l'image
docker build -t ecodeli-frontend .
# Lancer le conteneur
docker run -p 4173:4173 ecodeli-frontendL'application utilise Inlang pour la gestion des traductions :
# Ajouter une nouvelle langue
npm run machine-translate
# Les fichiers de traduction se trouvent dans :
# - src/lib/i18n/- Créer le fichier dans
src/lib/components/ - Exporter le composant depuis
src/lib/components/index.ts - Importer et utiliser dans les pages
- Créer le fichier dans
src/routes/ - Suivre la convention de nommage SvelteKit
- Ajouter la navigation si nécessaire
- Utiliser Tailwind CSS pour les styles
- Créer des classes personnalisées dans
src/app.csssi nécessaire - Utiliser DaisyUI pour les composants UI
# Lancer les tests (à implémenter)
npm run test
# Tests en mode watch
npm run test:watch- Lazy loading des composants
- Optimisation des images
- Code splitting automatique avec SvelteKit
- Préchargement des routes importantes
Pour toute question ou problème, veuillez contacter l'équipe de développement Ecodeli.
Ce projet est privé et propriétaire d'Ecodeli.
