Table of Contents
The Cinema Room Rest Service is a backend project developed as a Hyperskill challenge from the Java Backend Developer Track. It was divided in four parts in which the developer had to implement some tasks that go through tests before going to the next part.
- REST API
- Domain-Driven Design
- Tests with JUnit Jupiter, MockMvc and Mockito
- Databases with H2 embedded database
- Custom Exception Handling
- Logging
- Swagger UI API
-
. Clone the repo
git clone https://github.com/farvic/cinema-room-spring.git
-
Run using Maven or your IDE
mvn spring-boot:run
-
In order to run the tests
mvn test
-
Some relevant lines from the application.properties
# localhost:8080/ port=8080 # localhost:8080/swagger-ui/index.html springdoc.swagger-ui.path=/swagger-ui.html springdoc.api-docs.path=/v3/api-docs sprindoc.swagger-ui.config-url=/v3/api-docs/swagger-config springdoc.swagger-ui.url=/v3/api-docs # H2 Database name - in memory database spring.datasource.url=jdbc:h2:mem:testdb spring.h2.console.enabled=true # localhost:8080/h2-console spring.h2.console.path=/h2-console spring.datasource.driverClassName=org.h2.Driver # authentication to access the database console spring.datasource.username=sa spring.datasource.password=
-
An API documentation can be accessed through localhost:8080/swagger-ui/index.html once the program is running
The project was devided in four parts. In order to avoid a very long readme, you can access the readme about each of the parts by going to the tasks' folder or clicking on one of the links below:
- Migrate the project from the old repository to this one
- Organize the folders
- Update the readme with details about the project
- Add a remote database support with a Dockerfile
- And more...?
If you want to talk about the project, feel free to contact me through one of my socials.
Victor Fonseca - @Linkedin
Project Link: https://github.com/farvic/cinema-room-spring