feat: Add application tracking dashboard for students#1968
feat: Add application tracking dashboard for students#1968Pcmhacker-piro wants to merge 2 commits into
Conversation
|
Someone is attempting to deploy a commit to the jhasourav07's projects Team on Vercel. A member of the Team first needs to authorize it. |
|
👋 Hey @Pcmhacker-piro, welcome to CommitPulse! 🎉 Thanks for opening your first pull request — this is a big deal and we appreciate the effort! While you wait for a review, please double-check:
A maintainer will review your PR shortly. Hang tight! 🚀 |
|
🚨 Hey @Pcmhacker-piro, the CI Pipeline is failing on this PR and it has been marked as Please fix the issues before this can be reviewed. Here's how: 1. Run checks locally before pushing: npm run format:check # Check Prettier formatting
npm run lint # Run ESLint
npm run typecheck # TypeScript type check
npm run test # Run unit tests (Vitest)
npm run build # Verify production build passes2. Auto-fix common issues: npm run format # Auto-fix formatting with Prettier
npm run lint -- --fix # Auto-fix lint errors where possible3. Check the full failure log here: Once you push a fix and the CI passes, the |
|
@JhaSourav07 Hi Mentor, |
|
@Pcmhacker-piro SS OF THE UI PAGE |
Fixes #1961
Pillar
Description
This PR adds a complete application tracking dashboard for students, giving them full visibility into their placement progress after submitting job applications.
Currently, students have no way to check whether their application is pending, shortlisted, rejected, or selected. This feature introduces a dedicated "My Applications" section with status badges, interview schedules, company feedback, and the ability to withdraw applications before review.
What's Changed
New Models
models/Job.ts— Mongoose schema for job listings with fields: company, role, description, location, createdAtmodels/Application.ts— Mongoose schema for applications with fields: studentUsername, jobId (ref to Job), status, interviewDate, companyFeedback, timestampsNew TypeScript Types
types/applications.ts—ApplicationStatusunion type andJobData/ApplicationDatainterfaces for type-safe API responsesNew API Endpoints
GET /api/student/applications?username=<username>— Returns all applications by the logged-in student with populated job details, sorted newest firstPATCH /api/student/applications/:id/withdraw— Sets application status towithdrawnapplied(returns 400 otherwise)New Page:
/student-my-applicationsappliedstatusStatus Badge Color Scheme
Visual Preview
N/A — no UI screenshots available.
Checklist before requesting a review:
CONTRIBUTING.mdfile.localhost:3000/api/streak?user=YOUR_USERNAME).npm run formatandnpm run lintlocally and resolved all errors (CI will fail otherwise).feat(themes): ...,fix(calculate): ...).README.mdif I added a new theme or URL parameter.