You have been tasked to create a simple application for the IMDB (Internet Movie Database). The application should hold films, which are the main app entities. The app is called IMDB.
The functionality of the application should support creating, listing, editing and deleting films.
The application should persist the data into a database.
Overview
Your application should be built on each one of the following technologies:
PHP
Symfony framework
Twig view engine
Doctrine ORM
MySQL database
JavaScript
NodeJS + ExpressJS frameworks
Handlebars.js view engine
Mongoose data access library
MongoDB database
Java
Spring framework (Spring MVC + Spring Boot + Spring Data)
Thymeleaf view engine
JPA / Hibernate ORM + Spring Data data access
MySQL database
C#
ASP.NET framework (ASP.NET MVC + Entity Framework)
Razor view engine
Entity Framework ORM
MS SQL Server database
Data Model
The Film entity holds 5 properties:
id – technology-dependent identifier (ObjectID for JavaScript, int for all other technologies)
name – non-empty text
genre – non-empty text
director – non-empty text
year – non-null integer
Project Skeletons
You will be given the applications’ skeletons, which holds about 90% of the logic. You’ll be given some files (controllers, models etc.). The files will have partially implemented logic, so you’ll need to write some code for the application to function properly.
The application’s views will be given to you fully implemented. You only need to include them in your business logic.
Each technology will have its own skeleton, and the different skeletons may differ in terms of what is given to you and what is to be implemented.
Everything that has been given to you inside the skeleton is correctly implemented and if you write your code correctly, the application should work just fine. You are free to change anything in the Skeleton on your account.
User Interface
This is the user interface or how the application’s pages should look in their final form (fully implemented). You have several pages, described below:
Index Page Route: “/”
Displays all the films from the database with 2 options as actions to modify them.
Create Page Route: “/create”
Edit Page Route: “/edit/{id}”
Delete Page Route: “/delete/{id}”
|