How pranshu3099/careerops-backend works
CareerOps is a job-application tracking backend. Users authenticate, manage applications and their status, then track interviews and scheduled follow-ups; analytics, notifications, and settings support that workflow. The Express application mounts the feature routes, whose controllers coordinate service logic and background scheduling. Queue workers handle asynchronous email, follow-up, ghost-detection, and notification work. Sampled application and authentication code confirms key service, persistence, cache, and scheduling interactions; some feature-module internals were not sampled, so their internal wiring is omitted.
Main entry points: app.js Express app · application.controller.js Applications · application.service.js Application service · auth.controller.js Authentication
Components 26
API and identity
- Express app
src/app.js - Authentication
src/modules/auth/auth.controller.js - Auth service
src/modules/auth/auth.service.js
Career tracking
- Applications
src/modules/application/application.controller.js - Application service
src/modules/application/application.service.js - Application repository
src/modules/application/application.repo.js - Follow-ups
src/modules/followup/followup.controller.js - Follow-up service
src/modules/followup/followup.service.js - Interviews
src/modules/interview/interview.controller.js - Interview service
src/modules/interview/interview.service.js
Insights and alerts
- Alert settings
src/modules/settings/settings.controller.js - Analytics
src/modules/analytics/analytics.controller.js - Notifications
src/modules/notification/notification.controller.js
Background jobs
- Ghost checks
src/services/ghostQueue.service.js - Follow-up queue
src/queues/followup.queue.js - Email queue
src/queues/email.queue.js - Notification queue
src/queues/notification.queue.js - Ghost queue
src/queues/ghost.queue.js - Follow-up worker
src/workers/followup.worker.js - Email worker
src/workers/email.worker.js - Ghost worker
src/workers/ghost.worker.js - Notification worker
src/workers/notification.worker.js
Other components
- User
- Application database
- Redis
- Email provider
Connections 26
- User → Express app: sends requests
- Express app → Authentication: mounts auth routes
- Express app → Applications: mounts application routes
- Express app → Follow-ups: mounts follow-up routes
- Express app → Interviews: mounts interview routes
- Express app → Alert settings: mounts settings routes
- Express app → Analytics: mounts analytics routes
- Express app → Notifications: mounts notification routes
- Authentication → Auth service: calls
- Auth service → Application database: reads and writes
- Applications → Application service: calls
- Application service → Application database: reads and writes
- Application service → Application repository: queries
- Application service → Redis: caches results
- Applications → Follow-up queue: schedules follow-ups
- Applications → Ghost checks: schedules checks
- Ghost checks → Ghost queue: enqueues jobs
- Follow-up queue → Follow-up worker: dispatches jobs
- Email queue → Email worker: dispatches jobs
- Ghost queue → Ghost worker: dispatches jobs
- Notification queue → Notification worker: dispatches jobs
- Follow-up worker → Email provider: sends messages
- Email worker → Email provider: sends messages
- Follow-ups → Follow-up service: calls
- Interviews → Interview service: calls
- Alert settings → Redis: invalidates cache