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.
- 🔐 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
- 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
-
Cloner le dépôt
git clone https://github.com/isthiam/bloc3
-
Créer un environnement virtuel
python -m venv env source env/bin/activate # Linux/macOS env\Scripts\activate # Windows
-
Installer les dépendances
pip install -r requirements.txt
-
Configurer les variables d’environnement Crée un fichier
.envavec les paramètres suivants :SECRET_KEY=ta_clé_secrète DEBUG=True DATABASE_URL=postgres://utilisateur:motdepasse@localhost:5432/jo2024
-
Créer et migrer la base de données
python manage.py migrate
-
Créer un superutilisateur
python manage.py createsuperuser
-
Lancer le serveur local
python manage.py runserver
python manage.py testCouverture visée : 90%
-
Connexion
fly auth login
-
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
📁 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)
Projet réalisé dans le cadre de la formation Bloc 3 – Studi. Utilisation à but éducatif uniquement.
Issakha Thiam
Data Manager & Développeur Python
📧 LinkedIn
- 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- Accéder à l'application : http://127.0.0.1:8000