👥 Application de gestion collaborative
📋 Contexte du projet
Ce projet fullstack a été conçu pour répondre à un besoin de gestion collaborative des utilisateurs, projets et tâches. L'application permet une visualisation structurée via une navigation par onglets et repose sur un backend robuste en Java Spring Boot connecté à une base MySQL, avec un frontend en Angular conteneurisé via Docker.
🎯 Fonctionnalités
- Création et consultation des utilisateurs
- Création de projets avec description
- Ajout et gestion de tâches : statut, dates, responsable, projet lié
- Navigation intuitive via onglets : utilisateurs, projets, tâches
💻 Stack technique
- Backend : Java 17, Spring Boot, Spring Data JPA, REST API
- Base de données : MySQL
- Frontend : Angular (composants standalone), Bootstrap
- Tests : JaCoCo pour la couverture de tests backend
- CI/CD : GitHub Actions pour les tests, build, intégration continue
- Docker : Docker + Docker Compose pour le déploiement local
⚙️ Pipeline CI/CD
À chaque push, un workflow GitHub Actions est déclenché automatiquement : installation des dépendances, exécution des tests, build de l’application, et vérification de la connectivité avec la base de données MySQL. Le pipeline assure une livraison continue fiable et reproductible.
📊 Résultats
- ✅ Architecture modulaire et maintenable
- ✅ Couverture de tests mesurable via JaCoCo
- ✅ Déploiement local facilité via Docker Compose
- ✅ Séparation claire des responsabilités entre frontend et backend
🔍 Apprentissages clés
Ce projet m’a permis de mettre en pratique la création d’un backend solide avec Java/Spring Boot, de structurer un frontend moderne avec Angular standalone, et de gérer l’ensemble du cycle de développement logiciel : du codage à l’intégration continue.
🔗 Compétences
- Java - Logique métier & API REST
- SQL
- Angular - Interface utilisateur modulaire
- CI/CD - GitHub Actions & automatisation
- Docker - Déploiement local & conteneurisation
- Tests - Couverture JaCoCo