Task Management Practice IA est une application de gestion de tâches développée avec Java Spring Boot (backend) et Angular (frontend). Ce projet est conçu pour démontrer l'utilisation de l'IA dans le développement logiciel, notamment pour la génération de tests, la documentation et la correction de bugs.
Le projet suit une architecture en monorepo et est organisé comme suit :
/task-management-practice-ia
│── backend/ # API Spring Boot 3.x
│── frontend/ # Application Angular 19
│── docs/ # Documentation du projet
│── scripts/ # Scripts d'automatisation
│── .github/ # Workflows CI/CD
│── README.md # Documentation principale
- Java 21
- Spring Boot 3
- Spring Data JPA
- PostgreSQL
- Liquibase
- Node.js 20
- Angular CLI
- Tailwind CSS 4
- RxJS
- GitHub Actions (CI/CD)
- Docker
- Postgres (via Docker)
Avant de commencer, assurez-vous d'avoir installé :
- JDK 21 (Télécharger ici)
- Maven 3.9+ (Télécharger ici)
- Node.js 20+ et npm 10+ (Télécharger ici)
- Docker (optionnel pour PostgreSQL)
git clone https://github.com/<votre-username>/task-management-practice-ia.git
cd task-management-practice-iaSi vous utilisez PostgreSQL via Docker, exécutez :
./scripts/setup-db.shLancer le backend et le frontend en parallèle :
./scripts/run.shOu manuellement :
# Lancer le backend
cd backend/springboot && mvn spring-boot:run
# Lancer le frontend
cd frontend && ng serve| Commande | Description |
|---|---|
./scripts/run.sh |
Démarre le backend et le frontend |
./scripts/setup-db.sh |
Initialise la base PostgreSQL via Docker |
./scripts/build.sh |
Build complet du projet |
./scripts/test.sh |
Exécute les tests du backend et du frontend |
- CRUD complet pour la gestion des tâches
- Assignation des tâches avec limitation par utilisateur
- Gestion transactionnelle pour éviter les incohérences
- Tests unitaires générés par l'IA (JUnit, Karma)
- Documentation automatisée avec JavaDoc et Mermaid.js
- Déploiement facilité grâce à GitHub Actions
- Génération automatique de tests unitaires pour garantir la fiabilité du code.
- Utilisation de l'IA pour la documentation (JavaDoc, descriptions de classes).
- Détection et correction de bugs assistée par IA.
Une documentation détaillée est disponible dans le dossier docs :
| Section | Description |
|---|---|
| 1 - Besoin | Description des besoins du projet |
| 2 - Hébergement | Solutions d'hébergement et déploiement |
| 3.1 - Backend Springboot | Architecture et développement du backend Springboot |
| 3.2 - Backend NestJS | Architecture et développement du backend NestJS |
| 4 - Frontend | Développement du frontend en Angular |
| 5 - BDD | Gestion et structuration de la base de données |
| 6 - Événement | Gestion des événements et messages asynchrones |
| 7 - Sécurité | Bonnes pratiques de sécurité |
| 8 - Observabilité | Monitoring et logs |
| 9 - Structure | Organisation et structuration du projet |
| Section | Description |
|---|---|
| Database Design | Conception et structure de la base de données |
| API Documentation | Documentation de l'API |
Ce projet est sous licence MIT.
Les contributions sont les bienvenues ! Pour proposer une modification :
- Fork le repo
- Crée une branche (
git checkout -b feature/ma-fonctionnalite) - Commit tes changements (
git commit -m "Ajout d'une nouvelle fonctionnalité") - Push ta branche (
git push origin feature/ma-fonctionnalite) - Ouvre une Pull Request
Développé avec ❤️ par la communauté Task Management Practice IA 🚀