Академический Документы
Профессиональный Документы
Культура Документы
CONTENTS
This module has the following files:
MODULE_SERVER.doc
MODULE_SERVER_MEDIA.zip
INTRODUCTION
Cinema XIX ask you to make a minimum viable product for movie scheduling on its branches. Your task is to
implement the backend with Laravel PHP Framework and frontend. The detail description and tools that you
can use will be described below.
These are the list of web service endpoint that requested by the company:
1. Authentication
a. Login
b. Logout
2. Branch
a. Create new branch
Description: For client to create new branch, name must be filled.
b. Update branch
Description: For client to update existing branch by id, name must be filled.
c. Delete branch
Description: For client to delete existing branch by id
d. Get all branches
Description: For client to get all branches data
3. Studio
a. Create new studio
Description: For client to create new studio. All input must be filled. Branch id must be
registered in branch table. Basic price must be 1 – 10.000.000, Additional prices must be 0 –
1.000.000.
Field:
Name
Branch id
Basic price
Additional Friday price
Additional Saturday price
Additional Sunday price
b. Update studio
Description: For client to update existing studio by id. All input must be filled. Branch id must
be registered in branch table. Basic price must be 1 – 10.000.000, Additional prices must be
0 – 1.000.000.
Field:
Name
Branch id
Basic price
Additional Friday price
Additional Saturday price
Additional Sunday price
c. Delete studio
Description: For client to delete existing studio by id
4. Movie
a. Create new movie
Description: For client to create new movie. All input must be filled. Movie length must be 1 –
999.
Field:
Name
Minute length
Picture (file)
b. Update movie
Description: For client to update existing movie by id. All input must be filled. Movie length
must be 1 – 999.
Field:
Name
Minute length
Picture (file)
c. Delete movie
Description: For client to delete existing movie by id
d. Get all movies
Description: For client to get all movies data
5. Schedule
a. Create new schedule
Description: For client to create new schedule. All input must be filled. Studio and movie id
must be existing in corresponding tables.
End time is calculated by adding movie’s minute length to schedule’s start time (end_time =
start_time + minute_length)
Price is calculated by adding current day additional price to studio’s basic price, example: on
Friday, price = basic_price + additional_friday_price. On Wednesday, price = basic_price
Field:
Studio id
Movie id
Start date time
b. Update schedule
Description: For client to update existing schedule by id, validation requirement is equal with
create schedule endpoint.
c. Delete schedule
Description: For client to delete existing schedule by id
Menu Detail
The system’s role can be an Admin or a User
The user (admin or user) can login (and logout) into the system on the start
page of the application
After login, admin have access to “branch”, “studio”, “movie”, and “schedule”
menu
After login, user can view all schedule
Login
Links to the authorized menu and logout link are always visible on the top part
of the page while the user is logged in
Make sure your system is preventing users to access unauthorized menu
Note: the system is not providing register menu, all user data registration is
managed by administrator on the database directly
On “branch” menu, admin can add new branch
Branch Admin can update and delete existing branch
All input form is must be filled
On “studio” menu, admin can add new studio
Admin can update and delete existing studio
Studio All input form is must be filled, selected branch must be registered in branch
table, basic price must be 1 – 10.000.000, additional prices (Friday, Saturday,
Sunday) must be 0 – 1.000.000
On “movie” menu, admin can add new movie
Movie Admin can update and delete existing movie
All input form is must be filled, movie length must be 1 – 999
On “movie” menu, admin can add new movie
Admin can update and delete existing movie
All input form is must be filled, selected studio must be registered in studio
table, selected movie must be registered in movie table
End time is calculated by adding movie’s minute length to schedule’s start time
Schedule
(end_time = start_time + minute_length)
Price is calculated by adding current day additional price to studio’s basic price,
example: on Friday, price = basic_price + additional_friday_price. On
Wednesday, price = basic_price
The user role can view all schedules, search by branch and date
The information is grouped by movie name and price. Studio name and
end time are not shown. If there are multiple start time with same
movie name and price, the start time are shown in one row.
Example:
View Schedule
ERD
You can use and improve ERD below:
INSTRUCTIONS TO THE COMPETITOR
Save your files in your root directory on the server called "XX_SERVER_MODULE"
where XX is your computer number.
Create/generate a DB-diagram named “db-diagram.xxx” (xxx is the extension/type of the file eg. pdf
or jpg) and put it into the directory mentioned above. Example:
For this module, you must use one of the three available frameworks provided. Applications
developed without use of any of these frameworks will not be considered. You should take
advantage of the framework as much as possible.
Assessment will be done on the files and data in your database “XX_SERVER" on the central server.