Application web full-stack de gestion de tâches style Kanban.
| Couche | Technologies |
|---|---|
| Backend | Java 17, Spring Boot 3, Spring Security, JWT |
| Base de données | PostgreSQL 16, Spring Data JPA / Hibernate |
| Frontend | Angular 17, Angular Material, TypeScript |
| DevOps | Docker, Docker Compose, Nginx |
- Authentification — inscription, connexion JWT, mot de passe oublié par email
- Projets — création, paramétrage, gestion des membres (PROJECT_ADMIN / MEMBER)
- Kanban — colonnes personnalisables, drag & drop des tâches et colonnes
- Tâches — titre, description, priorité (LOW / MEDIUM / HIGH), assignation, statut
- Invitations — inviter un utilisateur existant ou non-inscrit par email
- Notifications — système de notifications in-app
- Calendrier — vue calendrier des tâches (FullCalendar)
- Thème — mode clair / sombre avec design tokens CSS
- Rôles — USER / ADMIN au niveau applicatif
controller/ → endpoints REST
service/ → logique métier
repository/ → accès base de données (Spring Data JPA)
entity/ → modèles JPA
dto/ → objets échangés avec l'API
mapper/ → conversions Entity ↔ DTO
security/ → filtre JWT, configuration Spring Security
config/ → beans applicatifs
POST /api/auth/register
POST /api/auth/login
POST /api/auth/forgot-password
POST /api/auth/reset-password
GET /api/projects
POST /api/projects
PUT /api/projects/{id}
DELETE /api/projects/{id}
GET /api/projects/{id}/members
POST /api/projects/{id}/members
DELETE /api/projects/{id}/members/{userId}
GET /api/tasks?projectId=
POST /api/tasks
PUT /api/tasks/{id}
DELETE /api/tasks/{id}
POST /api/tasks/{id}/move
GET /api/columns?projectId=
POST /api/columns
PUT /api/columns/{id}
DELETE /api/columns/{id}
PUT /api/columns/reorder
GET /api/users
PATCH /api/users/me
GET /api/notifications
GET /api/notifications/unread-count
PATCH /api/notifications/{id}/read
POST /api/invitations
| Champ | Valeur |
|---|---|
demo@taskmanager.com |
|
| Mot de passe | demo123 |
docker-compose up --build- Frontend : http://localhost:4200
- Backend : http://localhost:8080
- Swagger UI : http://localhost:8080/swagger-ui.html
Créer un fichier .env à la racine :
DB_USERNAME=taskmanager
DB_PASSWORD=taskmanager
# Resend (emails transactionnels)
RESEND_API_KEY=re_xxxxxxxxxxxx
RESEND_FROM=AppName <no-reply@tondomaine.com>- Java 17+
- Maven 3.8+
- Node 20+, npm
- PostgreSQL 16 (ou via Docker :
docker-compose up postgres)
cd backend
mvn spring-boot:runcd frontend
npm install
ng serve# Backend (JUnit + Mockito)
cd backend
mvn test
# Frontend E2E (Cypress)
cd frontend
npx cypress openDéveloppé par GiannyPontat.
