How vijaykumar-devcode/task-pulse works
Task Pulse is a full-stack task and user management application. Users authenticate in the React client, then manage tasks, assignments, and PDF attachments through the Express API; administrators can also manage users. The API enforces authentication and ownership rules, persists user/task records in MongoDB, and stores uploaded files on disk. The README describes real-time task refresh and Swagger documentation. Source excerpts show key frontend, route, controller, and storage interactions; some subsystem links are documented rather than inspected directly.
Main entry points: App.jsx Task Pulse UI · app.js API application · User.js User records · taskController.js Task management
Components 26
React application
- Client bootstrap
frontend/src/main.jsx - Task Pulse UI
frontend/src/App.jsx - App layout
frontend/src/components/Layout.jsx - Protected routes
frontend/src/components/ProtectedRoute.jsx - Redux store
frontend/src/store/index.js - Authentication state
frontend/src/store/authSlice.js - Task state
frontend/src/store/tasksSlice.js - User state
frontend/src/store/usersSlice.js - HTTP API client
frontend/src/api/client.js
Express API
- API application
backend/src/app.js - Authentication routes
backend/src/routes/authRoutes.js - User routes
backend/src/routes/userRoutes.js - Task routes
backend/src/routes/taskRoutes.js - Authentication
backend/src/controllers/authController.js - User management
backend/src/controllers/userController.js - Task management
backend/src/controllers/taskController.js - JWT authorization
backend/src/middleware/auth.js - PDF upload handling
backend/src/middleware/upload.js - Error handling
backend/src/middleware/errorHandler.js
Domain and persistence
- User records
backend/src/models/User.js - Task records
backend/src/models/Task.js - Attachment files
backend/src/services/fileStorage.js
API support
- Swagger API docs
backend/src/config/swagger.js
Other components
- User
- MongoDB
- Socket.IO transport
Connections 40
- User → Client bootstrap: uses
README.md - Client bootstrap → Task Pulse UI: renders
frontend/src/main.jsx - Task Pulse UI → App layout: renders
frontend/src/App.jsx - Task Pulse UI → Protected routes: uses
frontend/src/App.jsx - Client bootstrap → Redux store: configures
frontend/src/main.jsx - Redux store → Authentication state: registers
frontend/src/store/index.js - Redux store → Task state: registers
frontend/src/store/index.js - Redux store → User state: registers
frontend/src/store/index.js - Task Pulse UI → Authentication state: dispatches
frontend/src/App.jsx - Task Pulse UI → Task state: dispatches
frontend/src/App.jsx - Task Pulse UI → User state: dispatches
frontend/src/App.jsx - Authentication state → HTTP API client: calls auth API
frontend/src/store/authSlice.js - Task state → HTTP API client: calls task API
frontend/src/store/tasksSlice.js - User state → HTTP API client: calls user API
frontend/src/store/usersSlice.js - Task Pulse UI → HTTP API client: calls task API
frontend/src/App.jsx - HTTP API client → API application: sends HTTP requests
frontend/src/api/client.js - API application → Authentication routes: mounts
backend/src/app.js - API application → User routes: mounts
backend/src/app.js - API application → Task routes: mounts
backend/src/app.js - API application → Error handling: uses
backend/src/app.js - API application → Swagger API docs: serves docs
backend/src/app.js - Authentication routes → Authentication: routes to
backend/src/routes/authRoutes.js - Authentication routes → JWT authorization: uses
backend/src/routes/authRoutes.js - User routes → User management: routes to
backend/src/routes/userRoutes.js - User routes → JWT authorization: authenticates
backend/src/routes/userRoutes.js - Task routes → Task management: routes to
backend/src/routes/taskRoutes.js - Task routes → JWT authorization: authenticates
backend/src/routes/taskRoutes.js - Task routes → PDF upload handling: processes uploads
backend/src/routes/taskRoutes.js - Authentication → User records: reads and writes
backend/src/controllers/authController.js - Authentication → User records: checks passwords
backend/src/controllers/authController.js - User management → User records: reads and writes
backend/src/controllers/userController.js - Task management → Task records: reads and writes
backend/src/controllers/taskController.js - Task management → User records: looks up assignees
backend/src/controllers/taskController.js - JWT authorization → User records: loads user
backend/src/middleware/auth.js - Task management → Attachment files: saves and removes files
backend/src/controllers/taskController.js - User records → MongoDB: persists records
README.md - Task records → MongoDB: persists records
README.md - Task records → Attachment files: stores file metadata
README.md - Task management → Socket.IO transport: emits task events
backend/src/controllers/taskController.js - Socket.IO transport → Task Pulse UI: refreshes task list
frontend/src/App.jsx