(Full Stack & Web App)
Plateforme de réservation de soutien scolaire
Application web permettant aux familles de réserver gratuitement des cours de soutien scolaire avec des professeurs bénévoles, sans créer de compte. Conception et développement full-stack, seul.
Une structure locale propose du soutien scolaire gratuit, du primaire au lycée, assuré par des bénévoles. L'application permet aux familles de réserver un cours en quelques étapes : choix du niveau, de la matière puis d'un créneau disponible. Le bénévole est attribué automatiquement selon ses disponibilités et ses compétences.
La réservation est validée par un lien envoyé par e-mail (valable 30 minutes), puis le parent et le bénévole reçoivent une confirmation avec un lien d'annulation sécurisé. Un tableau de bord permet à l'équipe de gérer les bénévoles, les lieux, les créneaux et les réservations.
API REST en Java 25 et Spring Boot 4 (Spring Data JPA, Bean Validation, erreurs au format ProblemDetail, documentation OpenAPI). Base PostgreSQL avec migrations versionnées Flyway et un index unique partiel qui empêche la double réservation d'un même créneau, même en cas de requêtes simultanées.
Jetons de validation et d'annulation aléatoires, stockés uniquement sous forme d'empreinte SHA-256, et annulation en deux temps (récapitulatif puis confirmation) pour éviter les erreurs. E-mails transactionnels avec Spring Mail et Thymeleaf, limitation du nombre de réservations par e-mail et par IP contre le spam.
Conformité RGPD : données minimales, consentement horodaté et suppression automatique des données 3 mois après le cours. Front-end Angular (composants standalone, signals) avec Tailwind CSS et daisyUI, pensé mobile d'abord.
Environnement Docker Compose (PostgreSQL, Mailpit), intégration continue avec GitHub Actions et déploiement prévu sur VPS avec Caddy. Le projet a démarré par un dossier de conception (dictionnaire de données, routes d'API), des maquettes et un backlog sous forme d'issues GitHub.
- Catégorie
- Full Stack & Web App
- Statut
- En cours de développement
- Stack
- JavaSpring BootPostgreSQLFlywayAngularTypeScriptTailwind CSSDockerGitHub Actions