No description
Find a file
2025-12-17 11:46:28 +01:00
.local_packages xss crrection 2025-12-16 17:12:29 +01:00
assets add logo 2025-12-17 11:46:28 +01:00
backend feat: amélioration vue prof (liens, détails, suppression) et correctifs 2025-12-17 11:41:53 +01:00
venv xss crrection 2025-12-16 17:12:29 +01:00
README.md add logo 2025-12-17 11:46:28 +01:00
workspace.code-workspace xss crrection 2025-12-16 17:12:29 +01:00

Classroom Tracker

QuestLog Logo

Une application web simple et temps réel pour le suivi de tâches en classe. Backend Python (FastAPI) + Frontend Vanilla JS + WebSockets.

Pré-requis

  • Docker & Docker Compose (Recommandé)
  • OU Python 3.10+

Installation & Lancement

Option A: Docker (Recommandé)

  1. Aller dans le dossier backend:
    cd backend
    
  2. Lancer:
    docker-compose up --build
    
  3. Accéder à l'application sur http://localhost:8000.

Option B: Local (Sans Docker)

  1. Créer un environnement virtuel:
    cd backend
    python3 -m venv venv
    source venv/bin/activate
    
  2. Installer les dépendances:
    pip install -r requirements.txt
    
  3. Lancer le serveur:
    uvicorn app.main:app --reload
    

Usage

  1. Créer une session:

    • Sur la page d'accueil, cliquez sur "Créer une session".
    • Vous obtenez deux liens : Professeur (Admin) et Élève.
  2. Côté Élève:

    • Ouvrez le lien Élève dans un nouvel onglet (ou partagez-le).
    • Entrez un pseudo.
    • Vous voyez la liste des tâches. Cochez-les au fur et à mesure.
    • Besoin d'aide ? Cliquez sur le bouton "Demander de l'aide".
  3. Côté Professeur:

    • Vous voyez la liste des élèves connectés et leur progression en temps réel.
    • Si un élève demande de l'aide, une alerte apparaît. Vous pouvez cliquer sur "Résoudre" une fois aidé.
    • Vous pouvez ajouter/supprimer des tâches ou modifier leur ordre. Les élèves verront les changements instantanément.

Tests

Pour lancer les tests automatisés:

pytest

Structure

  • app/models: Modèles de base de données (SQLAlchemy).
  • app/api: Endpoints HTTP et WebSocket.
  • app/services: Logique métier (WebSocket manager).
  • app/templates & app/static: Frontend.