Skip to content

lawanedj/Basket_Project

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

4 Commits
 
 
 
 
 
 
 
 
 
 

Repository files navigation

🏀 Basket Management System (Django + PostgreSQL)

Plateforme de gestion complète pour clubs de basket : effectifs, matchs, statistiques, bien-être et portfolio public des joueurs.


📖 Table des matières

  1. 🎯 Vision du projet
  2. 🧱 Architecture technique
  3. 🗂 Structure du projet
  4. ⚙️ Installation & configuration
  5. 🚀 Démarrage du serveur
  6. 🧩 Fonctionnalités principales
  7. 🧠 Technologies & packages clés
  8. 🔐 Authentification JWT (API)
  9. 🧰 Commandes utiles
  10. 📦 Roadmap & évolutions
  11. 🤝 Contribution
  12. 📄 Licence

🎯 Vision du projet

Le Basket Management System est une application web modulaire qui permet aux clubs de basket de :

  • Gérer les effectifs (joueurs, coachs, staff)
  • Planifier les activités (matchs, entraînements, présences)
  • Suivre les performances (statistiques, analytics)
  • Superviser la santé et le bien-être (RPE, blessures, charge)
  • Publier un portfolio public par joueur pour la visibilité et le scouting

👉 Chaque club dispose de son propre espace (multi-tenant) avec branding, utilisateurs et données séparés.


🧱 Architecture technique

Couche Technologie Description
Backend Django 5 + DRF API REST modulaire
Base de données PostgreSQL Données relationnelles & JSONB
Authentification JWT (SimpleJWT) Auth API pour web/mobile
Cache & tâches Redis + Celery (plus tard) File d’attente et cache
Fichiers django-storages (S3) (optionnel) Uploads médias
Front web Django Templates / HTMX (MVP) Interface admin légère
Front mobile (Futur) Vue / Ionic / Flutter Application joueur/coach

🗂 Structure du projet

basket_project/
│
├── backend/
│   ├── __init__.py
│   ├── asgi.py
│   ├── wsgi.py
│   ├── urls.py
│   └── settings.py
│
├── accounts/
│   ├── models.py
│   ├── views.py
│   ├── serializers.py
│   ├── urls.py
│   └── admin.py
│
├── clubs/
│   ├── models.py
│   ├── admin.py
│   └── urls.py
│
├── manage.py
└── .env

⚙️ Installation & configuration

1️⃣ Cloner le projet

git clone https://github.com/toncompte/basket_project.git
cd basket_project

2️⃣ Créer un environnement virtuel

python3 -m venv venv
source venv/bin/activate   # Linux/Mac
# ou
venv\Scripts\activate      # Windows

3️⃣ Installer les dépendances

pip install -r requirements.txt

Contenu de base de requirements.txt :

django
djangorestframework
djangorestframework-simplejwt
psycopg2-binary
python-decouple

4️⃣ Créer le fichier .env

DB_NAME=basket_db
DB_USER=postgres
DB_PASSWORD=motdepasse
DB_HOST=127.0.0.1
DB_PORT=5432

5️⃣ Créer la base PostgreSQL

psql -U postgres
CREATE DATABASE basket_db;
\q

6️⃣ Appliquer les migrations

python manage.py makemigrations
python manage.py migrate

7️⃣ Créer un superutilisateur

python manage.py createsuperuser

🚀 Démarrage du serveur

python manage.py runserver

Accès :


🧩 Fonctionnalités principales

Module Description
🧑‍💼 Accounts Gestion des utilisateurs et rôles
🏟️ Clubs Création et configuration de clubs
📅 Planning (à venir) Activités, matchs, entraînements
📊 Stats (à venir) Suivi et calculs analytiques
💪 Wellness (à venir) Bien-être et charge
🩺 Medical (à venir) Blessures et disponibilité
🌐 Portfolio public Page publique du joueur

🧠 Technologies & packages clés

Package Rôle
Django Framework principal
Django REST Framework API REST
SimpleJWT Auth par token
PostgreSQL Base de données
Python Decouple Variables d’environnement
psycopg2-binary Connexion PostgreSQL
django-storages Fichiers distants
Redis / Celery (plus tard) Tâches et cache

🔐 Authentification JWT (API)

Endpoints principaux :

Méthode Endpoint Description
POST /api/token/ Génère un token JWT
POST /api/token/refresh/ Rafraîchit un token expiré

Exemple de réponse :

{
  "access": "eyJ0eXAiOiJKV1QiLCJhbGci...",
  "refresh": "eyJhbGciOiJIUzI1NiIsInR5cCI..."
}

🧰 Commandes utiles

Commande Action
python manage.py makemigrations Générer migrations
python manage.py migrate Appliquer migrations
python manage.py createsuperuser Créer un admin
python manage.py runserver Lancer le serveur
python manage.py shell Console Django
python manage.py startapp nom_app Nouvelle app

📦 Roadmap & évolutions

Étape Module Statut
Auth & Clubs Terminé
🔜 Activités & présences En cours
🔜 Matchs & stats À venir
🔜 Bien-être & charge À venir
🔜 Portfolio public À venir
🔜 Facturation À venir

🤝 Contribution

  1. Fork le projet
  2. Crée une branche :
git checkout -b feature/ma-fonctionnalite
  1. Commit & push :
git push origin feature/ma-fonctionnalite
  1. Soumets une Pull Request 🚀

📄 Licence

Projet open-source sous licence MIT.

About

Une application qui recense et fait la gestion et presente les statistiques des joueurs, des clubs de basket

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages