Skip to content

isthiam/bloc3

Repository files navigation

🎟️ Application de Réservation de e-Tickets – JO 2024

🚀 Description

Cette application Django permet aux utilisateurs de consulter et réserver des billets pour les Jeux Olympiques 2024. Elle propose un espace utilisateur, un back-office administrateur, un panier de commande, un système de paiement simulé, ainsi qu’une génération automatique de billets PDF avec QR Code. Elle inclut également un tableau de bord des ventes et un formulaire de contact.


🧩 Fonctionnalités principales

  • 🔐 Authentification et gestion de profil utilisateur
  • 👨‍👩‍👧‍👦 Réservation de billets : Solo, Duo, Famille
  • 🛒 Panier d’achat avec confirmation
  • 💳 Paiement (simulation) avec options multiples
  • 📄 Génération automatique de billets PDF avec QR Code
  • ✅ Validation dynamique des billets (scan QR) pour les admins
  • 📈 Tableau de bord statistiques (admin uniquement)
  • 📬 Formulaire de contact
  • 🌐 Application responsive, déployée sur Fly.io

🏗️ Stack Technique

  • Back-end : Django 5.x
  • Base de données : PostgreSQL
  • PDF / QR : WeasyPrint / ReportLab / qrcode
  • Front-end : HTML, CSS, Bootstrap
  • Déploiement : Docker + Fly.io

⚙️ Installation locale

  1. Cloner le dépôt

    git clone https://github.com/isthiam/bloc3
  2. Créer un environnement virtuel

    python -m venv env
    source env/bin/activate        # Linux/macOS
    env\Scripts\activate           # Windows
  3. Installer les dépendances

    pip install -r requirements.txt
  4. Configurer les variables d’environnement Crée un fichier .env avec les paramètres suivants :

    SECRET_KEY=ta_clé_secrète
    DEBUG=True
    DATABASE_URL=postgres://utilisateur:motdepasse@localhost:5432/jo2024
  5. Créer et migrer la base de données

    python manage.py migrate
  6. Créer un superutilisateur

    python manage.py createsuperuser
  7. Lancer le serveur local

    python manage.py runserver

🧪 Tests

python manage.py test

Couverture visée : 90%


🚀 Déploiement sur Fly.io

  1. Connexion

    fly auth login
  2. Création et déploiement

    fly launch --name jeuxolympiqueparis2024 --region cdg
    fly postgres create --name jeux2024 --region cdg
    fly postgres attach jeux2024 --app jeuxolympiqueparis2024 --database-user jeuxuser --database-name jeux2024
    fly deploy

📁 Structure des dossiers

📁 olympic_tickets/
├── users/              → gestion des comptes utilisateurs
├── offres/             → gestion des offres (solo, duo, famille)
├── tickets/            → réservation, validation, génération de billets
├── contact/            → formulaire de contact
├── templates/          → pages HTML (frontend)
├── static/             → fichiers statiques (CSS, JS, images)
├── media/              → fichiers générés (PDF billets)

📄 Licence

Projet réalisé dans le cadre de la formation Bloc 3 – Studi. Utilisation à but éducatif uniquement.


👤 Auteur

Issakha Thiam
Data Manager & Développeur Python
📧 LinkedIn

🖥️ Exécution en local

Prérequis

  • Python 3.10+ installé
  • PostgreSQL installé localement ou utilisation de SQLite pour tester rapidement
  • Créer un environnement virtuel :
python -m venv env
source env/bin/activate  # ou env\Scripts\activate sous Windows
  • Installer les dépendances :
pip install -r requirements.txt
  • Configurer un fichier .env (facultatif) :
SECRET_KEY=your_secret_key
DEBUG=True
ALLOWED_HOSTS=127.0.0.1,localhost
DATABASE_URL=sqlite:///db.sqlite3  # ou votre URL PostgreSQL
  • Appliquer les migrations :
python manage.py migrate
  • Créer un superutilisateur :
python manage.py createsuperuser
  • Lancer le serveur de développement :
python manage.py runserver

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors