This is a simple task management system where users can:
- Receive a task
- Update task status (e.g. Completed)
When a user marks a task as Completed, the system:
- Sends an update event to RabbitMQ asynchronously
- A separate Mail Sender Service consumes the event and sends an email notification to the user confirming the successful task update
| Component | Technology |
|---|---|
| Frontend | React + Vite |
| Backend | NestJS |
| Queue Messaging | RabbitMQ |
| Email Service | Nodemailer |
| Local Deployment | Kubernetes (via Kind) |
.
├── backend/ # Main backend service (NestJS)
├── frontend/ # User interface (React + Vite)
├── mail-sender-service/ # Email service that consumes RabbitMQ
├── k8s/ # Kubernetes manifests (Deployment, Service, etc.)