This project implements the backend for an Interview Management System using Spring Boot. The system provides a RESTful API with security features, including JWT authentication and refresh tokens. It uses Swagger for API documentation and is deployed on Azure VPS using Docker.
- Spring Boot: The framework used to build the backend.
- JWT: JSON Web Tokens for user authentication and session management.
- Swagger: For auto-generating API documentation.
- Docker: To containerize the application and simplify deployment.
- Azure VPS: Hosting the application on Azure's virtual private server.
✅ Candidate Management – Add, edit, delete, and track candidates.
✅ Interview Scheduling – Manage interview sessions with automatic reminders.
✅ Job Offers & Status Tracking – Create, approve/reject, and update offers.
✅ User Authentication – JWT Authentication & Refresh Tokens for secure user authentication and authorization using JWT tokens.
✅ RESTful API with Swagger Docs – Well-documented API endpoints.
✅ Docker Deployment – Scalable deployment using Docker on Azure VPS.
✅ Automated Email Notifications – Send alerts for interview schedules and job offers.
Once the application is up and running, you can access the Swagger UI by navigating to:
http://20.188.115.37:8080/swagger-ui/index.html
This UI provides a user-friendly interface for interacting with the API and testing endpoints.
- Java 17 or later
- Docker installed on your machine
- Azure Account for deployment (optional, if deploying on Azure)
- Maven for building the project
git clone https://github.com/yourusername/interview-management-system.gitcd interview-management-systemmvn spring-boot:rungit clone https://github.com/yourusername/interview-management-system.gitmvn clean install -DskipTestsdocker-compose up -d --build- Fork the repository.
- Create a new branch (git checkout -b feature-branch).
- Commit your changes (git commit -am 'Add new feature').
- Push to the branch (git push origin feature-branch).
- Open a pull request.
This project is licensed under the MIT License.
This README.md provides a structured overview of your backend project, instructions on how to set up and run it locally, containerized with Docker, and deployed on Azure. It also outlines the authentication mechanism and includes the basic structure for contributing to the project. Let me know if you need any further adjustments or additions!