Jobs
Listings, resume applications, and status tracking.
List views strip applications down to counts and an applied flag; only the poster sees full applications on the detail view. Applying attaches a resume plus up to five extra documents through the document uploader and notifies the poster. Active job pairs (poster plus pending, reviewed, or accepted applicants) may message each other without a connection.
What it owns
- Listings with type, location, skills, and budget
- Cursor-paged browsing with search and filters
- Applications with resume and document uploads
- Poster-side application status changes
Files
File list and purposes from the folder README.
| File | Purpose |
|---|---|
frontend/src/pages/JobsPage.jsx | Listings browser screen. |
frontend/src/pages/JobDetailPage.jsx | Listing detail and application screen. |
frontend/src/components/jobs/CreateJobModal.jsx | Listing creation modal. |
frontend/src/components/jobs/ApplyJobModal.jsx | Application modal with resume upload. |
frontend/src/services/jobService.js | Listing and application calls. |
backend/routes/jobRoutes.js | Listing, apply, status, delete routes. |
backend/controllers/jobController.js | Filters, applications, status changes. |
backend/models/Job.js | Listings with embedded applications. |
Laying out Jobs slice…
BrowserAPIRealtimeCacheDatabaseShareddurableephemeral
Talks to
Sources: frontend/src/services/jobService.js, backend/routes/jobRoutes.js, backend/controllers/jobController.js, backend/models/Job.js (documented at commit cdef8af)