{"id":22249673,"url":"https://github.com/gajendra-ingle/careerpathway","last_synced_at":"2026-05-16T15:36:05.397Z","repository":{"id":265423787,"uuid":"893732388","full_name":"gajendra-ingle/CareerPathway","owner":"gajendra-ingle","description":"CareerPathway is a Spring Boot REST API designed to streamline the management of career development activities such as job postings, student registrations, applications, and interview scheduling.","archived":false,"fork":false,"pushed_at":"2024-11-29T09:38:27.000Z","size":28,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-11-09T09:22:00.722Z","etag":null,"topics":["rest-api","spring-boot"],"latest_commit_sha":null,"homepage":"","language":"Java","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/gajendra-ingle.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","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":"2024-11-25T05:34:39.000Z","updated_at":"2024-11-29T09:38:31.000Z","dependencies_parsed_at":"2024-11-29T10:41:38.803Z","dependency_job_id":"5e841994-3cb3-45f4-9530-55b5efdeba80","html_url":"https://github.com/gajendra-ingle/CareerPathway","commit_stats":null,"previous_names":["gajendra-ingle/careerpathway"],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/gajendra-ingle/CareerPathway","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/gajendra-ingle%2FCareerPathway","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/gajendra-ingle%2FCareerPathway/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/gajendra-ingle%2FCareerPathway/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/gajendra-ingle%2FCareerPathway/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/gajendra-ingle","download_url":"https://codeload.github.com/gajendra-ingle/CareerPathway/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/gajendra-ingle%2FCareerPathway/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":33108232,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-05-16T04:41:52.686Z","status":"ssl_error","status_checked_at":"2026-05-16T04:41:52.009Z","response_time":115,"last_error":"SSL_connect returned=1 errno=0 peeraddr=140.82.121.5:443 state=error: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"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":["rest-api","spring-boot"],"created_at":"2024-12-03T06:28:02.397Z","updated_at":"2026-05-16T15:36:05.344Z","avatar_url":"https://github.com/gajendra-ingle.png","language":"Java","funding_links":[],"categories":[],"sub_categories":[],"readme":"# CareerPathway\n\n## About the Project\n**CareerPathway** is a Spring Boot REST API designed to streamline the management of career development activities such as job postings, student registrations, applications, and interview scheduling. It empowers institutions to publish job opportunities and facilitates a seamless application process for students. The system enhances communication between students and employers, ensuring an efficient hiring process while maintaining an organized database.\n\n## Objective\n- **Automate** the career pathway process via a REST API to enable seamless integration with other institutional systems.\n- **Ensure data accuracy** through job posting validation and student application management.\n- **Enhance communication** between students and employers, optimizing the hiring workflow.\n- **Improve error handling** using global exception handling and custom validation rules across all entities.\n\n## Workflow\n1. **Student Registration**  \n   Students can register via the `Student` entity, gaining access to the system.\n2. **Viewing Job Postings**  \n   After logging in, students can browse available job postings.\n3. **Applying for a Job**  \n   Students submit job applications, which are initially marked as `APPLIED`.\n4. **Approval of Job Application**  \n   Admins or employers review applications and update the status to `APPROVED` if accepted.\n5. **Scheduling Interviews**  \n   Approved students can schedule interviews using the `Interview` entity linked to their application.\n\n## Scope\nThis project focuses on developing a REST API to manage:\n- Users\n- Students\n- Job Postings\n- Job Applications\n- Interviews\n\n## Project Architecture\nThe project follows a **layered architecture pattern** with the following components:\n\n### 1. Controller Layer\n- Handles HTTP requests and responses.\n- Validates request parameters and payloads to ensure data consistency.\n- Uses custom validation annotations and error handling via a global exception handler.\n\n### 2. Service Layer\n- Contains business logic.\n- Coordinates interactions between controllers and DAOs.\n- Manages transactions and ensures data integrity.\n\n### 3. DAO Layer\n- Performs CRUD operations to interact with the database.\n- Abstracts database management details for clear separation between logic and data.\n\n### 4. Global Exception Handler\n- Centralized exception handling that returns user-friendly error messages in a consistent format across the system.\n\n### 5. Validation\n- Custom validation for fields to maintain data integrity.\n- Utilizes annotations like `@NotNull`, `@Size`, and `@Email` for input validation.\n\n\n## Technology Stack\n- **Backend Framework**: Spring Boot 2.7.17\n- **Database**: MySQL\n- **Database Framework**: Hibernate 5\n- **Java**: JDK 17\n- **Build Tool**: Maven\n- **Development Environment**: Eclipse\n- **API Testing Tool**: Postman\n\n\n## Modules and API Endpoints\n\n### 1. User Module\nManages user authentication and operations.\n\n| Method | Endpoint                  | Description                  |\n|--------|---------------------------|------------------------------|\n| POST   | `/auth/login`              | Authenticates a user.        |\n| POST   | `/user/create-user`         | Creates a new user.          |\n| DELETE | `/user/delete-user/{username}` | Deletes a user by username.  |\n| GET    | `/user/all-users`           | Retrieves all users.         |\n| GET    | `/user/get-user/{username}` | Fetches a user by username.  |\n| PUT    | `/user/update-user`         | Updates user details.        |\n\n\n\n### 2. Student Module\nHandles student registration and management.\n\n| Method | Endpoint                  | Description                  |\n|--------|---------------------------|------------------------------|\n| POST   | `/students/register`       | Registers a new student.     |\n| GET    | `/students/all-students`    | Retrieves all students.      |\n| DELETE | `/students/delete-student/{id}` | Deletes a student by ID.    |\n| PUT    | `/students/update-student`  | Updates student details.     |\n\n\n\n### 3. Job Posting Module\nManages job postings.\n\n| Method | Endpoint                   | Description                  |\n|--------|----------------------------|------------------------------|\n| POST   | `/job-postings/create-job`   | Creates a new job posting.   |\n| GET    | `/job-postings/all-jobs`     | Retrieves all job postings.  |\n| DELETE | `/job-postings/delete-job/{id}` | Deletes a job by ID.       |\n| PUT    | `/job-postings/update-job`   | Updates job posting details. |\n\n\n### 4. Job Application Module\nAllows students to apply for jobs.\n\n| Method | Endpoint                          | Description                            |\n|--------|-----------------------------------|----------------------------------------|\n| POST   | `/jobApplication/apply`           | Submits a job application.             |\n| PUT    | `/jobApplication/update-status/{id}/{status}` | Updates the job application status. |\n\n\n\n### 5. Interview Module\nManages interview scheduling and tracking.\n\n| Method | Endpoint                          | Description                              |\n|--------|-----------------------------------|------------------------------------------|\n| POST   | `/interview/schedule`             | Schedules a new interview.               |\n| GET    | `/interview/{id}`                 | Retrieves interview details by ID.       |\n| PUT    | `/interview/update-status/{id}/{status}` | Updates the interview status.       |\n\n\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fgajendra-ingle%2Fcareerpathway","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fgajendra-ingle%2Fcareerpathway","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fgajendra-ingle%2Fcareerpathway/lists"}