Backend decoupage - 0x485254/brief-26 GitHub Wiki

✍️ Plan d'organisation du travail - Projet EasyGroup

👨‍👩‍👧‍👦 Équipe

Membre Rôle principal
Mathis Authentification & gestion des comptes
Romain Listes & partage
Azriel Gestion des personnes
Mohamed Tirages & groupes

🔐 Mathis — Authentification & utilisateurs

👉 Authentification et utilisateurs

📁 Fichiers à créer

  • AuthController.java

  • AuthService.java

  • SecurityConfig.java

  • Argon2idPasswordEncoder.java

  • UserController.java

  • UserService.java

📄 Responsabilités

  • Inscription / connexion (JWT + Argon2id)

  • Envoi mail de confirmation

  • Activation / suppression de compte

  • Rafraîchissement du token

  • Rôles (USER / ADMIN)

⚖️ Méthodes principales

  • register(UserDto dto)

  • login(LoginRequest request)

  • validateToken(String token)

  • getUserInfo(Long userId)

  • deleteUser(Long userId)


📂 Romain — Listes & Partage

📁 Fichiers à créer

  • ListController.java

  • ListService.java

  • ListShareController.java

  • ListShareService.java

  • ListRepository.java

  • ListShareRepository.java

📄 Responsabilités

  • CRUD des listes

  • Partage de listes (vue, filtres, droits)

  • Récupération des listes partagées

  • Contrainte de nom unique par utilisateur

⚖️ Méthodes principales

  • createList(ListDto dto)

  • deleteList(Long listId)

  • shareList(Long listId, Long userId)

  • getListsByUser(Long userId)

  • getSharedLists(Long userId)


📁 Azriel — Gestion des personnes

📁 Fichiers à créer

  • PersonController.java

  • PersonService.java

  • PersonRepository.java

📄 Responsabilités

  • Ajout / édition / suppression de personnes dans une liste

  • Validation des champs (genre, profil, niveaux, etc.)

  • Récupération des personnes par liste

⚖️ Méthodes principales

  • addPerson(PersonDto dto, Long listId)

  • updatePerson(Long id, PersonDto dto)

  • deletePerson(Long id)

  • getPersonsByList(Long listId)


🌀 Mohamed — Tirages & groupes

📁 Fichiers à créer

  • DrawController.java

  • DrawService.java

  • GroupController.java

  • GroupService.java

  • DrawRepository.java

  • GroupRepository.java

📄 Responsabilités

  • Algorithme de création de groupes (aléatoire + critères)

  • Historique des groupes par liste

  • Empêcher les doublons de tirages

  • Relancer / valider un tirage

⚖️ Méthodes principales

  • generateGroups(Long listId, DrawSettings settings)

  • validateDraw(Long drawId)

  • getGroupsByDraw(Long drawId)

  • getDrawsByList(Long listId)


📋 Tâches transverses (à répartir selon disponibilités)

🔄 CI/CD & Docker

  • Dockerfile, docker-compose.yml

  • nginx.conf, reverse proxy (optionnel)

  • .gitlab-ci.yml ou .github/workflows pour déploiement automatique

🔍 Documentation

  • Wiki technique (routes, structure, installation)

  • Manuel utilisateur

  • Swagger / OpenAPI à maintenir à jour

📅 Planning

  • Sprint planning + tickets à suivre par membre


⚠️ **GitHub.com Fallback** ⚠️