A Spring Boot project demonstrating the use of Docker, Java, JUnit, RESTful APIs, Exception Handling, Object-Oriented Programming (OOP), Swagger, Integration Tests, Caffeine, Caching, and MySQL. This project does not include a front-end.
- RESTful APIs for university system operations
- Exception handling
- Object-Oriented Programming (OOP) principles
- Integration tests with JUnit
- API documentation with Swagger
- Caching with Caffeine
- Docker for containerization
- MySQL for the database
- Spring Boot
- Docker
- Java
- JUnit
- RESTful APIs
- Swagger
- Caffeine
- MySQL
- Java 11 or higher
- Maven
- Docker
- MySQL
- Clone the repository:
git clone https://github.com/ashkanfrs/university.git
- Navigate to the project directory:
cd university
- Set up the MySQL database:
CREATE DATABASE university;
- Update the
application.properties
file with your MySQL database credentials:spring.datasource.url=jdbc:mysql://localhost:3306/university spring.datasource.username=your-username spring.datasource.password=your-password spring.jpa.hibernate.ddl-auto=update
- Build the project:
mvn clean install
- Run the application using Docker:
docker build -t university-system . docker run -p 8080:8080 university-system
- The back-end server will start on
http://localhost:8080
. - Use tools like Postman or curl to interact with the API endpoints.
API documentation is available via Swagger. Once the application is running, navigate to http://localhost:8080/swagger-ui.html
to view and test the available endpoints.
To run the integration tests:
mvn test