This technologies were chosen over other technologies especially on the JavaScript side due to lack of time
- It was chosen Symfony because is one of the frameworks that is used in Alert Logic and I have experience with it.
- It was chosen JQuery UI and Bootstrap because I had used it before and is a very simple to use.
On the Front-End (JavaScript) side:
- It was chosen to use functional inheritance pattern to allow some type of encapsulation.
- The project is encapsulated inside of a namespace to avoid problems with variables or functions without scope
- UI Event handelers were encapsulated inside of an object controller
- No other model than the one inside of the Bootstrap-Table seems to be necesary.
On the Back_End (PHP) side:
- Thanks to the framework guideness the project is encapsulate inside of a bundle.
- Using services that works as helper providing simpler access to the requested API.
- PHP 5.3.3+ compiled with the cURL extension.
- Symfony 2.3
|-- DefaultBundle
| |-- Controller
| | |-- DefaultControler.php // Only controller necessay for the appliacation to function
| |-- Model
| | |-- TheMoviesDBAPIHelper.php // Helper to access the API requested
| |-- Resources // Store front-end files.
| | |-- Public
| | |-- js
| | |-- vendor // Necessary JS libraries
| | |-- controllers
| | |-- main.js // Start Javascript Execution
| | |-- constants.js // Save constant
| | |--css
| | |-- * // Requiere CSS
| |-- util
| | |-- CurlHelper.php // Helper the PHP standard Curl class