Ce projet est un frontend en Vue.js 3 + Vite + Pinia + Vue Router permettant de rechercher des itinéraires en s'appuyant sur un backend Spring Boot (API transport).
- 🔍 Recherche de lieux via autocomplétion (
/api/places). - 🚌 Résolution d’itinéraires (
/api/resolve-journeys). - ⏳ Derniers trajets de la journée (
/api/journeys/last-of-day). - 🎨 Affichage clair des résultats sous forme de tableau avec :
- horaires de départ et d’arrivée,
- durée totale,
- nombre de correspondances,
- parcours détaillé (bus, métro, RER, marche…).
frontend/
├── src/
│ ├── components/
│ │ └── PlaceAutocomplete.vue # Champ de recherche avec autocomplétion
│ ├── services/
│ │ ├── http.js # Client Axios configuré
│ │ ├── transport.js # Fonctions d'appel API
│ ├── stores/
│ │ └── journeys.js # Store Pinia (état global)
│ ├── views/
│ │ ├── HomeView.vue # Vue principale (formulaire + résultats)
│ │ └── AboutView.vue # Exemple de vue statique
│ ├── router/
│ │ └── index.js # Configuration des routes
│ ├── App.vue # Layout principal
│ └── main.js # Entrée application Vue
└── vite.config.js
git clone https://github.com/johnwaia/frontend.git
cd frontendnpm installnpm run devPar défaut : http://localhost:5173
Créez un fichier .env.local à la racine :
VITE_API_BASE_URL=http://localhost:8080/api
Le backend est une API Java Spring Boot exposant :
GET /api/places?q=→ recherche de lieuxGET /api/resolve-journeys?fromQ=&toQ=→ itinéraires entre 2 lieuxGET /api/journeys/last-of-day?fromQ=&toQ=→ derniers trajets de la journée
fromQ et toQ avant appel, afin d’éviter les erreurs 500.
- Formulaire avec autocomplétion Départ / Arrivée
- Résultats présentés en tableau lisible
- Parcours affiché sous forme de badges colorés (Bus, RER, Métro, Marche…)
- Vue.js 3 (composition API)
- Vite
- Pinia (state management)
- Vue Router
- Axios
- Backend Spring Boot sur
http://localhost:8080 - Frontend Vue.js sur
http://localhost:5173
npm run buildProjet réalisé à titre d’exemple pédagogique. Vous pouvez le modifier et l’adapter librement.