CampusGate is a backend application built to streamline the campus recruitment process. It provides RESTful APIs for managing users, students, job postings, applications, and interviews. All functionalities can be tested using Postman or similar API testing tools.
- Project Architecture
- Technology Stack
- Modules
- Features
- Folder Structure
- Setup Instructions
- API Documentation
- Contact
- Controller Layer: Handles HTTP requests and responses.
- Service Layer: Contains business logic and mediates between the controller and DAO.
- DAO (Data Access Object) Layer: Interacts with the database to perform CRUD operations.
- Backend Framework: Spring Boot
- Database: MySQL
- Database Framework: Hibernate
- Java Version: JDK 17
- Build Tool: Maven
- Development Environment: Eclipse
- API Testing Tool: Postman
- User Module: Manages user authentication and role-based access.
- Student Module: Handles student profiles and applications.
- Job Posting Module: Enables recruiters to manage job postings.
- Job Application Module: Tracks applications and their statuses.
- Interview Module: Manages interview scheduling and status updates.
- Secure user authentication and role-based access control.
- CRUD operations for users, students, jobs, applications, and interviews.
- API-driven architecture for flexible integration with frontend or third-party tools.
CampusGate/
├── src/main/java/ # Contains controllers, services, and DAO classes
├── src/main/resources/
│ └── application.properties
└── README.md # Project documentation
- Java Development Kit
- MySQL Database
- Maven
- Postman
-
Clone the repository:
git clone https://github.com/HARDIK-PANCHARIYA/CampusGate.git
-
Navigate to the project directory:
cd CampusGate
-
Set up your MySQL database and update the database configurations in the application.properties file:
spring.datasource.url=jdbc:mysql://localhost:3306/campus_recruit?createDatabaseIfNotExist=true spring.datasource.username=root spring.datasource.password=root
-
Install the necessary dependencies via Maven:
mvn clean install
-
Run the application:
mvn spring-boot:run
-
The application will start on http://localhost:8091.
http://localhost:8091/api
-
Register User
POST http://localhost:8091/api/users/register
- Request Body:
{ "username": "Hardik", "password": "12345", "role": "ADMIN" }
- Response:
201 Created
-
Login User
POST http://localhost:8091/api/users/login
- Request Body:
{ "username": "Hardik", "password": "12345" }
- Response:
200 OK
-
Get All Students
GET http://localhost:8091/api/students
- Response: List of all students.
-
Create Student
POST http://localhost:8091/api/students
- Request Body:
{ "name": "Hardik Panchariya", "email": "hardikpanchariya3012@gmail.com", "course": "Engineering" }
- Response:
201 Created
-
Get All Job Postings
GET http://localhost:8091/api/jobs
- Response: List of all job postings.
-
Create Job Posting
POST http://localhost:8091/api/jobs
- Request Body:
{ "title": "Software Engineer", "description": "Entry-level position", "location": "Remote" }
- Response:
201 Created
-
Apply for a Job
POST http://localhost:8091/api/applications
- Request Body:
{ "studentId": 1, "jobId": 101 }
- Response:
201 Created
-
Get Applications by Job
GET http://localhost:8091/api/applications/job/{jobId}
- Response: List of applications for the specified job.
-
Schedule Interview
POST http://localhost:8091/api/interviews
- Request Body:
{ "applicationId": 1001, "interviewDate": "2024-11-25T10:00:00" }
- Response:
201 Created
-
Get Interviews for a Student
GET http://localhost:8091/api/interviews/student/{studentId}
- Response: List of scheduled interviews for the student.
If you have any questions
or feedback, feel free to reach out to me at: