How iamumesh2058/jobify works
Jobify is a job-application tracker for job seekers, with account registration/login and a dashboard for managing job records and viewing application statistics. The main workflow runs from routed browser pages and forms through API requests to Express routes, controllers, and MongoDB models; profile and admin functions are additional branches. The README documents demo-user access and theme switching. Some frontend components and server wiring were not excerpted, so uncertain links are omitted or marked unverified.
Main entry points: App.jsx Page router · customFetch.js API client · job.routes.js Job routes · user.routes.js User routes
Components 24
Browser application
- Page router
client/src/App.jsx - Dashboard shell
client/src/pages/DashboardLayout.jsx - API client
client/src/utils/customFetch.js
Job tracking
- Job forms
client/src/pages/AddJob.jsx - Job search and list
client/src/pages/AllJobs.jsx - Job editing
client/src/pages/EditJob.jsx - Job deletion
client/src/pages/DeleteJob.jsx - Application stats
client/src/pages/Stats.jsx - Stats charts
client/src/components/ChartsContainer.jsx - Job routes
routes/job.routes.js - Job controller
controllers/job.controller.js - Job records
models/job.model.js
Accounts and access
- Login and registration
client/src/pages/Login.jsx - Profile settings
client/src/pages/Profile.jsx - Admin overview
client/src/pages/Admin.jsx - Auth routes
routes/auth.routes.js - User routes
routes/user.routes.js - Auth controller
controllers/auth.controller.js - User controller
controllers/user.controller.js - User records
models/user.model.js
API and persistence
- Express API
server.js - Access and validation
middleware/authMiddleware.js - Input validation
middleware/validationMiddleware.js
Other components
- Job seeker
Connections 35
- Job seeker → Page router: uses
client/src/App.jsx - Page router → Dashboard shell: routes to
client/src/App.jsx - Page router → Job forms: routes to
client/src/App.jsx - Page router → Job search and list: routes to
client/src/App.jsx - Page router → Job editing: routes to
client/src/App.jsx - Page router → Job deletion: routes to
client/src/App.jsx - Page router → Application stats: routes to
client/src/App.jsx - Page router → Login and registration: routes to
client/src/App.jsx - Page router → Profile settings: routes to
client/src/App.jsx - Page router → Admin overview: routes to
client/src/App.jsx - Application stats → Stats charts: renders
- Job forms → API client: requests
client/src/pages/AddJob.jsx - Job search and list → API client: requests
client/src/pages/AllJobs.jsx - Job editing → API client: requests
client/src/pages/EditJob.jsx - Job deletion → API client: requests
client/src/pages/DeleteJob.jsx - Application stats → API client: requests
client/src/pages/Stats.jsx - Profile settings → API client: requests
client/src/pages/Profile.jsx - Admin overview → API client: requests
client/src/pages/Admin.jsx - API client → Express API: calls API
- Express API → Auth routes: mounts
server.js - Express API → Job routes: mounts
server.js - Express API → User routes: mounts
server.js - Auth routes → Auth controller: dispatches
routes/auth.routes.js - Job routes → Job controller: dispatches
routes/job.routes.js - User routes → User controller: dispatches
routes/user.routes.js - Job routes → Access and validation: checks access
routes/job.routes.js - Job routes → Input validation: validates
routes/job.routes.js - User routes → Access and validation: checks access
routes/user.routes.js - User routes → Input validation: validates
routes/user.routes.js - Auth controller → User records: reads and writes
controllers/auth.controller.js - Job controller → Job records: reads and writes
controllers/job.controller.js - User controller → User records: reads and writes
controllers/user.controller.js - User controller → Job records: reads
controllers/user.controller.js - Input validation → Job records: checks records
middleware/validationMiddleware.js - Input validation → User records: checks accounts
middleware/validationMiddleware.js