KEA - AP Computer Science
Third Semester
Instant Coffee Group
CinemaXX Project
Authors:
Andre Jeronimo Camargo Bittencourt | Juan Ignacio Nicolai | Karolina Barbara Kwiatkowska | Snorri Sigurjonsson | Veselin Plamenov Ivanov
http://localhost:9090/api/swagger
POST /api/booking/create takes in theaterHallId
, movieId
, timeSlotId
and seatId
We query the database for a Theater Hall with the given theaterHallId
and if
it exists we get the Movies that are shown in that Theater Hall. We filter out
the movies that do not match the given movieId
. If there is a Movie left, we
take the available Time Slots and filter out the ones that do not match the
given timeSlotId
. If there is a Time Slot left, we check if the seat with the
given seatId
is taken by taking the bookings of the Time Slot and filtering
out the ones that do not match the seatId
. If the Seat is not taken, we check
if the Theater Hall has that seat and if it does we create a new Booking.
Right now every endpoint requires authentication except:
/api/authenticate/signup
/api/authenticate/login
/api/swagger
/api/api-docs
There are no roles implemented at the moment, meaning if you are signed up, you can perform all available operations.
POST /api/authenticate/signup
with username
and password
POST /api/authenticate/login
with username
and password
You will get a token back.
There is OpenAPI specification for the two endpoints mentioned above.
Whenever you make a request add the token to the Authorization header as a Bearer token.
@GetMapping
public String hello(@AuthenticationPrincipal User user) {
System.out.println("HELLO");
System.out.println(user);
return "hello";
}
Andre : andr01a0
- User Story: delete movies.
- User Story: edit movies.
- User Story: cancel bookings.
- User Story: edit bookings.
- AMAZON AWS EC2 instance server with DevOps - CI/CD with jenkins building from GitHub into docker containers using environment variables.
- Pair-programming with team mates to solve problems encountered.
Juani : juaninicolai
- I performed as Scrum Master and directed all the Daily meetings.
- Built our Kanban board to follow the team progress.
- I built the “create movie” endpoint. Andre helped me to test de validation of it (pair programming).
- I built the “get free / booked seat list” with Andre’s guidance (pair programming).
- I participated in the overall testing of the endpoints before submitting to the PO.
Karolina : karokwiat
- the DDL and DML.
- get-movie-info endpoint.
- I did the pair programming working on the endpoint where all movie-titles, schedule-times, age requirements for all cinema halls in the movie theatre in question are returned for a given start- and end date.
- I participated in creating the create-booking endpoint.
Snorri : SnorriSig
- Endpoint where all movie-titles, schedule-times, age requirements for all cinema halls in the movie theater in question are returned for a given start- and end date, typically a week. Karolina assisted me with MYSQL logic and Veselin with DTO.
- Add Link to image(s) + trailer(s) and poster(s) to "Get movie info".
- Worked on entity relations with others.
Veselin : v3s1e
- Implemented Authentication with Spring Security.
- Participated in the creation of the endpoint to book a seat for a movie.
- Helped the team with problems we encountered during the sprint.