Overview
Task Manager API adalah backend service yang menyediakan endpoint lengkap untuk aplikasi manajemen tugas. Dibangun dengan Node.js dan Express, API ini mengikuti RESTful conventions dan dilengkapi dokumentasi interaktif menggunakan Swagger UI.
Sistem autentikasi menggunakan JWT dengan refresh token rotation — access token berumur pendek (15 menit) sedangkan refresh token disimpan di httpOnly cookie untuk mencegah XSS attacks.
Challenges & Solutions
Implementasi real-time notifications yang efisien menjadi tantangan utama. Menggunakan Socket.io dengan room-based architecture dimana setiap user dan project punya dedicated room, sehingga notifikasi hanya dikirim ke penerima yang relevan.
Untuk mencegah N+1 query problem, semua relasi diload dengan aggregation pipeline MongoDB sehingga kompleksitas query tetap O(1) terlepas dari jumlah data.
Key Features
- JWT authentication dengan refresh token rotation
- Role-based access control: Owner, Admin, Member, Viewer
- Real-time notifications via Socket.io
- Task dengan subtasks, due date, priority, dan attachment
- Project workspace dengan invite system via email
- Activity log untuk semua perubahan task
- Rate limiting & request validation middleware
- Dokumentasi Swagger interaktif dengan try-it-out