Skip to content

Frontend Flutter d'une application de gestion d'événements avec authentification JWT. Supporte deux rôles : utilisateur et organisateur.

Notifications You must be signed in to change notification settings

marius-kengne/events_frontend

Repository files navigation

📅 events_frontend

events_frontend est une application Flutter permettant la gestion d’événements avec authentification via JWT. Elle distingue les utilisateurs selon leurs rôles (utilisateur ou organisateur) et offre des fonctionnalités adaptées à chacun.


1️⃣ Fonctionnalités principales

Authentification

  • 🔐 Connexion via JWT
  • 📝 Enregistrement avec choix du rôle (ROLE_USER ou ROLE_ORGANIZER)
  • 📦 Sauvegarde du token avec SharedPreferences
  • 🚪 Déconnexion propre

Événements

  • 👁️ Voir la liste de tous les événements
  • 🔍 Voir les détails d’un événement
  • 🟢 Label : "✅ Publié" ou "⏳ Non publié"
  • 📤 Bouton Publier (uniquement visible pour les organisateurs)
  • ➕ Bouton Créer un événement (organisateurs uniquement)
  • 🗑️ Supprimer un événement (organisateurs uniquement)

2️⃣ Prérequis

  • Flutter SDK
  • Un IDE comme Android Studio, IntelliJ ou VS Code
  • Le Backend Symfony
  • Le backend Symfony est un REST sécurisé avec JWT exposant :
    • POST /api/login
    • POST /api/register
    • GET /api/events
    • POST /api/events
    • POST /api/events/{id}/publish
    • DELETE /api/events/{id}
  • s'assurer d'avoir docker et docker-compose installés

3️⃣ Installation & Lancement

# 1. Cloner et lancer le backend (plus d'infos sur le readme du backend) 
git clone https://github.com/marius-kengne/events_backend.git
cd events_backend
docker-compose up --build -d

# 2. Cloner le frontend

git clone https://github.com/marius-kengne/events_frontend.git
cd events_frontend

# 3. Installer les dépendances dans le frontend
flutter pub get

# 4. Lancer l'application le frontend
flutter run

Remarque : Pour exécuter pour le web, assurez-vous d’exécuter :

flutter run -d chrome

4️⃣ Configuration de l'API

Par défaut, l’URL du backend est :

static const String baseUrl = 'http://localhost:8000/api';

Pour modifier cette URL, ouvrez :

lib/services/api_service.dart
et changez la valeur de baseUrl.


5️⃣ Structure du projet

lib/
├── models/               # Modèles de données (Event)
├── providers/            # Provider pour l'état d'authentification
├── screens/              # Interfaces : login, register, events, détails
├── services/             # Classe ApiService pour les requêtes HTTP
└── main.dart             # Entrée principale

6️⃣ Contribution

Tu veux contribuer ? Voici comment faire :

# Crée une branche de travail
git checkout -b feature/ma-fonctionnalite

# Commit tes modifications
git commit -m "Ajoute nouvelle fonctionnalité"

# Pousse ta branche
git push origin feature/ma-fonctionnalite

Puis ouvre une Pull Request 🚀


📸 7️⃣ Aperçu de l’application

🟦 Écran de connexion

Connexion

🟦 Écran de création de compte

Création de compte

🟦 Écran de création d'un événement

Création d'événement

🟩 Liste des événements

Liste des événements

🟨 Détails d’un événement

Détails de l’événement

8️⃣ Ressources utiles


8️⃣ Licence

Distribué sous la licence MIT.

About

Frontend Flutter d'une application de gestion d'événements avec authentification JWT. Supporte deux rôles : utilisateur et organisateur.

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published