A full-stack task management application built for the Navicon Infraprojects Assessment. It uses intelligent logic to automatically classify and prioritize tasks based on their content.
- Backend Base URL:
https://smart-task-backend-t2zl.onrender.com/api - Frontend: Flutter Mobile App
| Dashboard | Smart Creation (AI) | Filters |
|---|---|---|
![]() |
![]() |
![]() |
- Backend: Node.js, Express.js
- Database: Supabase (PostgreSQL)
- Mobile: Flutter (Riverpod, Dio, Material 3)
- Deployment: Render.com
- Testing: Jest
- Smart Classification: Automatically detects categories (Finance, Technical, Safety) and Priority from description text.
- Entity Extraction: Extracts people, dates, and locations.
- Interactive Dashboard: Summary cards, search, and dynamic filtering.
- Audit Logging: Tracks all task creation and updates in a separate history table.
- Optimistic UI: Instant feedback when updating status or deleting tasks.
POST /api/tasks- Create task (Auto-Classify)POST /api/classify- Preview classification without savingGET /api/tasks- List tasks (Supports pagination:?page=1&limit=20)PATCH /api/tasks/:id- Update statusDELETE /api/tasks/:id- Delete task
- Clone the repository.
- Backend:
cd smart-task-manager,npm install, setup.env,node src/index.js. - Flutter:
cd smart_task_app,flutter pub get,flutter run.
- Layered Architecture: Separated
classifier.js(logic) fromindex.js(routes) to ensure the logic is testable (Jest). - State Management: Used Riverpod for robust state handling and easy error tracking.
- Security: Secrets managed via
.env(not committed to GitHub).


