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/frontend
Assurez-vous d’avoir Flutter installé : Documentation Flutter
Vérifiez l’installation :
flutter doctor
Depuis le dossier frontend/ :
flutter pub get
flutter run
Backend 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/backend
python -m venv .venv
# activer l'environnement virtuel :
source .venv/bin/activate #(Linux/Mac)
.venv\Scripts\activate #(Windows PowerShell)
pip install -r requirements.txt
Cré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 head
uvicorn 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