Application mobile Les Vagues, qui permet aux surfeurs de partager et découvrir des spots de surf.
Frontend mobile de l’application Les Vagues, construite avec Flutter.
L’application communique avec le backend via une API REST exposée par FastAPI.
- Interface mobile pour découvrir et gérer des spots de surf
- Authentification des utilisateurs
- Upload d’images depuis le téléphone
- Ajout de commentaires et de notes sur les spots
- Communication avec le backend via HTTP (REST API)
git clone https://github.com/adatechschool/les_vagues.git
cd les_vagues/frontendAssurez-vous d’avoir Flutter installé : Documentation Flutter
Vérifiez l’installation :
flutter doctorDepuis le dossier frontend/ :
flutter pub getflutter runBackend mobile de l’application Les Vagues, construit avec FastAPI, PostgreSQL, SQLAlchemy et Alembic.
- Authentification des utilisateurs
- Gestion des spots de surf (CRUD)
- Upload et gestion d’images
- Système de commentaires et de notes
- Documentation auto générée via Swagger (
/docs)
git clone https://github.com/adatechschool/les_vagues.git
cd les_vagues/backendpython -m venv .venv
# activer l'environnement virtuel :
source .venv/bin/activate #(Linux/Mac)
.venv\Scripts\activate #(Windows PowerShell)pip install -r requirements.txtCréer un fichier .env à la racine de backend/ (pour les secrets/URL Supabase/clé JWT/etc.) avec par exemple
DATABASE_URL=postgresql://<user>:<password>@<host>:<port>/<dbname>
SECRET_KEY=ton_secret_pour_jwt
ALGORITHM=HS256
ACCESS_TOKEN_EXPIRE_MINUTES=30(optionnel) Créer sa BDD locale PostgreSQL :
createdb les_vagues Appliquer les migrations :
alembic upgrade headuvicorn main:app --reload- L’API sera dispo sur http://localhost:8000
- La doc interactive sur http://localhost:8000/docs
backend/
├─ app/
│ ├─ main.py # Point d'entrée FastAPI
│ ├─ config.py # Config (env, DB, JWT…)
│ ├─ database.py # Connexion DB & session
│ ├─ models/ # Modèles SQLAlchemy
│ ├─ schemas/ # Schémas Pydantic
│ ├─ crud/ # Fonctions CRUD
│ ├─ routers/ # Routes FastAPI
│ └─ utils/ # Fonctions utilitaires
├─ alembic/ # Migrations
├─ requirements.txt
└─ .env # Variables d’environnement (local)
frontend/
├─ assets/
│ ├─ .env # Config locale
├─ lib/
│ ├─ main.dart # Point d'entrée Flutter
│ ├─ app.dart # MaterialApp, thèmes, routes globales
│ ├─ config.dart # Config (API base URL)
│ ├─ pages/ # Pages principales de l’app
│ ├─ widgets/ # Composants UI réutilisables
│ ├─ services/ # Services (API calls, auth, etc.)
│ └─ models/ # Modèles (User, Spot, Comment…)
└─ pubspec.yaml # Dépendances Flutter- Pamela https://github.com/Pampamlela
- Auriane https://github.com/aurianebgnl