How ata204/task-manager works
Task Manager is a role-based team work platform: admins create and assign checklist-based tasks, while members update their assigned work; both roles track progress in dashboards. The React SPA routes users to role-specific pages and calls the Express API, which applies authorization and task rules, persists domain data in MongoDB, and generates reports. Notifications and scheduled reminders extend the task lifecycle. The graph combines sampled source relationships with README-documented capabilities; several UI and integration details are documented but their implementation was not sampled.
Main entry points: server.js HTTP and socket server · App.jsx Role-based SPA · axiosinstance.js API client · NotificationBell.jsx Notification UI
Components 24
Web application
- Role-based SPA
frontend/Task-Manager/src/App.jsx - Sign-in and signup
frontend/Task-Manager/src/pages/Auth - Admin workspace
frontend/Task-Manager/src/pages/Admin - Member workspace
frontend/Task-Manager/src/pages/User - User context
frontend/Task-Manager/src/context/UserContext.jsx - Notification UI
frontend/Task-Manager/src/components/notifications/NotificationBell.jsx - API client
frontend/Task-Manager/src/utils/axiosinstance.js
API and domain
- HTTP and socket server
backend/server.js - Authentication
backend/controllers/authController.js - Access control
backend/middlewares/authMiddleware.js - Task lifecycle
backend/controllers/taskController.js - Analytics and reports
backend/controllers/reportController.js - Image uploads
backend/controllers/imageController.js
Persistent data
- User records
backend/models/User.js - Task records
backend/models/Task.js - Image records
backend/models/Image.js - Notification records
backend/models/Notification.js
Notifications and reminders
- Notification events
backend/services/notificationEvents.js - Live delivery
backend/services/notificationService.js - Due-date reminders
backend/controllers/taskRemindeers.js - Socket rooms
backend/appSocket.js - Scheduled trigger
backend/routes/cronRoutes.js
Other components
- Admin
- Member
Connections 33
- Admin → Role-based SPA: uses
README.md - Member → Role-based SPA: uses
README.md - Role-based SPA → Sign-in and signup: routes to
frontend/Task-Manager/src/App.jsx - Role-based SPA → Admin workspace: routes to
frontend/Task-Manager/src/App.jsx - Role-based SPA → Member workspace: routes to
frontend/Task-Manager/src/App.jsx - Role-based SPA → User context: provides state
frontend/Task-Manager/src/App.jsx - Role-based SPA → Notification UI: provides notifications
frontend/Task-Manager/src/App.jsx - Sign-in and signup → API client: requests
README.md - Admin workspace → API client: requests tasks
frontend/Task-Manager/src/pages/Admin/ManageTasks.jsx - Member workspace → API client: requests tasks
frontend/Task-Manager/src/pages/User/MyTasks.jsx - Notification UI → API client: polls
- API client → HTTP and socket server: calls API
README.md - HTTP and socket server → Authentication: mounts routes
backend/server.js - HTTP and socket server → Task lifecycle: mounts routes
backend/server.js - HTTP and socket server → Analytics and reports: mounts routes
backend/server.js - HTTP and socket server → Image uploads: mounts routes
backend/server.js - HTTP and socket server → Socket rooms: initializes
backend/server.js - Authentication → User records: reads and writes
backend/controllers/authController.js - Access control → User records: loads identity
backend/middlewares/authMiddleware.js - Task lifecycle → Task records: reads and writes
backend/controllers/taskController.js - Task lifecycle → Notification events: triggers events
backend/controllers/taskController.js - Analytics and reports → Task records: queries tasks
backend/controllers/reportController.js - Analytics and reports → User records: queries users
backend/controllers/reportController.js - Image uploads → Image records: stores uploads
backend/controllers/imageController.js - Notification events → Live delivery: dispatches
backend/services/notificationEvents.js - Live delivery → Notification records: persists
backend/services/notificationService.js - Live delivery → Socket rooms: emits events
backend/services/notificationService.js - Socket rooms → Notification UI: pushes live events
README.md - Scheduled trigger → Due-date reminders: routes trigger
backend/routes/cronRoutes.js - HTTP and socket server → Due-date reminders: starts job
backend/server.js - Due-date reminders → Task records: checks due tasks
backend/controllers/taskRemindeers.js - Due-date reminders → Notification events: triggers reminders
backend/controllers/taskRemindeers.js - Notification UI → API client: receives polling updates
README.md