{"id":18439760,"url":"https://github.com/itsproali/job-portal-api","last_synced_at":"2026-04-09T12:02:24.774Z","repository":{"id":134240856,"uuid":"550658635","full_name":"itsproali/job-portal-api","owner":"itsproali","description":"Job Portal Api Fully Secured Server with Token Verification,Mongoose in MVC Architecture.","archived":false,"fork":false,"pushed_at":"2022-12-25T17:19:40.000Z","size":71,"stargazers_count":1,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-04-21T17:45:24.606Z","etag":null,"topics":["expressjs","itsproali","jwt-authentication","mohammad-ali","mongodb-database","mongoose","nodejs","server"],"latest_commit_sha":null,"homepage":"job-portal-api-three.vercel.app","language":"JavaScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/itsproali.png","metadata":{"files":{"readme":"Readme.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2022-10-13T05:48:16.000Z","updated_at":"2022-12-25T17:14:03.000Z","dependencies_parsed_at":null,"dependency_job_id":"5b32c7d4-6c35-43bb-94be-225c5a001e04","html_url":"https://github.com/itsproali/job-portal-api","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/itsproali/job-portal-api","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/itsproali%2Fjob-portal-api","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/itsproali%2Fjob-portal-api/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/itsproali%2Fjob-portal-api/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/itsproali%2Fjob-portal-api/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/itsproali","download_url":"https://codeload.github.com/itsproali/job-portal-api/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/itsproali%2Fjob-portal-api/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":28131606,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","status":"online","status_checked_at":"2025-12-30T02:00:05.476Z","response_time":64,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["expressjs","itsproali","jwt-authentication","mohammad-ali","mongodb-database","mongoose","nodejs","server"],"created_at":"2024-11-06T06:26:28.303Z","updated_at":"2025-12-30T20:01:50.676Z","avatar_url":"https://github.com/itsproali.png","language":"JavaScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Job Portal --- Server with Mongoose in MVC Architecture\n\n## Credentials:\n\n**Admin:**\n\n- email: admin@gmail.com\n- password: Admin123#\n\n**Hiring Manager:**\n\n- email: manager@gmail.com\n- password: Manager123#\n\n**Candidate:**\n\n- email: candidate@gmail.com\n- password: Candidate123#\n\n\u003cbr\u003e\n\n## Features:-\n\n- Save user password by hashing.\n- Secured all the routes using JWT.\n- Handle all kinds of errors.\n- User can signup, login, get user information.\n- HR can post, get, update jobs.\n- Admin can track the job portal by some special queries.\n\n\u003cbr\u003e\n\n## Routes:-\n\n**Authentication**\n\n```\n- {POST} /user/signup ------ Create a New User Account by providing data according to User Model.\n- {POST} /user/login  ------ Log in with email and password to get a token.\n- {GET} /user/me      ------ Get User Information verifying the token.\n```\n\n\u003cbr\u003e\n\n**Hiring Manager Routes**\n\n```\n- {POST} /manager/jobs      ------ Post a new job according to Job Model.\n- {GET} /manager/jobs       ------ Get All of his/her posted job.\n- {GET} /manager/jobs/:id   ------ Get a specific job details with candidates details.\n- {PATCH} /manager/jobs/:id ------ Update a job by id.\n```\n\n\u003cbr\u003e\n\n**Candidate Routes**\n\n```\n- {GET} /jobs            ------ Get all the jobs. There has some query options: page, limit, sort.\n- {GET} /jobs/:id        ------ Get a specific job with Hiring Manager details.\n- {POST} /jobs/:id/apply ------ Apply for a post with these validation: can't apply twice in a job, can't apply after deadline.\n```\n\n\u003cbr\u003e\n\n**Admin Routes**\n\n```\n- {GET} /admin/candidates       ------ Get all the candidates of the Job Portal.\n- {GET} /admin/candidate/:id    ------ Get a specific candidate details with Applied Job.\n- {GET} /admin/managers         ------ Get all Hiring Manager Info.\n- {GET} /admin/top-paid-jobs    ------ Get Top 10 Paid Jobs in the Job Portal.\n- {GET} /admin/top-applied-jobs ------ Get Top 5 Most Applied Jobs in the Job Portal.\n```\n\n\u003cbr\u003e\n\n## Technologies:-\n\n- Node JS\n- Express JS\n- MongoDB\n- Mongoose\n- Json Web Token\n- Bcrypt JS\n- Dotenv\n\nThank you so much for viewing this project. If found this helpful don't forget to click on star.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fitsproali%2Fjob-portal-api","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fitsproali%2Fjob-portal-api","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fitsproali%2Fjob-portal-api/lists"}