How shalini-576-cse/focusflow works
FocusFlow is a task-planning web app with account access, task and subtask management, and profile/password flows. The principal evidenced workflow is a user opening the routed client, viewing tasks, and fetching or updating them through the client API and server. The backend also exposes account and profile routes, stores users and tasks in MongoDB, and sends password-reset email. Dashboard and activity pages are present in the tree, but their behavior and wiring are not established by the sampled source.
Main entry points: App.jsx Route app · server.js HTTP server · authController.js Account logic · userRoutes.js User routes
Components 21
Web client
- Route app
client/src/App.jsx - Account pages
client/src/pages - Task pages
client/src/pages/Tasks.jsx - Dashboard
client/src/pages/Dashboard.jsx - Activity
client/src/pages/Activity.jsx - Profile page
client/src/pages/Profile.jsx - Task API client
client/src/api/taskApi.js
API server
- HTTP server
server/server.js - Auth routes
server/routes/authRoutes.js - Account logic
server/controllers/authController.js - User routes
server/routes/userRoutes.js - Profile logic
server/controllers/userController.js - JWT protection
server/middleware/authMiddleware.js - Task routes
server/routes/taskRoutes.js - Email sender
server/utils/sendEmail.js
Persistence
- DB connection
server/config/db.js - User records
server/models/User.js - Task records
server/models/Task.js
External services
- MongoDB
- Email service
Other components
- User
Connections 22
- User → Route app: opens
- Route app → Account pages: routes
- Route app → Task pages: routes
- Route app → Dashboard: routes
- Route app → Activity: routes
- Route app → Profile page: routes
- Task pages → Task API client: requests
- Task API client → HTTP server: HTTP requests
- HTTP server → Auth routes: dispatches
- HTTP server → User routes: dispatches
- HTTP server → Task routes: dispatches
- HTTP server → DB connection: connects
- Auth routes → Account logic: calls
- Account logic → User records: reads/writes
- Account logic → Email sender: sends reset mail
- Email sender → Email service: delivers
- User routes → JWT protection: protects routes
- User routes → Profile logic: calls
- Profile logic → User records: reads/writes
- JWT protection → Profile logic: passes user
- Task routes → Task records: reads/writes
- DB connection → MongoDB: connects