Skip to content

A cinema room API project developed with Spring-Boot.

Notifications You must be signed in to change notification settings

farvic/cinema-room-spring

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

8 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

LinkedIn

Cinema Room REST API

Table of Contents
  1. About The Project
  2. Getting Started
  3. Usage
  4. Roadmap
  5. Contributing
  6. License
  7. Contact
  8. Acknowledgments

About The Project

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.

Built With

Some topics covered doing the project

  • REST API
  • Domain-Driven Design
  • Tests with JUnit Jupiter, MockMvc and Mockito
  • Databases with H2 embedded database
  • Custom Exception Handling
  • Logging
  • Swagger UI API

(back to top)

Getting Started

  1. . Clone the repo

    git clone https://github.com/farvic/cinema-room-spring.git
  2. Run using Maven or your IDE

    mvn spring-boot:run
  3. In order to run the tests

    mvn test
  4. 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=
  5. An API documentation can be accessed through localhost:8080/swagger-ui/index.html once the program is running

(back to top)

The Challenge

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:

  1. The show begins
  2. Take your seat
  3. A change of plans
  4. The statistics

(back to top)

Roadmap

  • 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...?

(back to top)

Contact

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

(back to top)

Releases

No releases published

Packages

No packages published

Languages