Test for full stack developers @ Compco. This is a simple (in functionality) login page with featues to register a new user and update the details. It has a Illuminate\Database as a dependency; however, in itself is framework agnostic. It implements a very basic "template" approach to avoid yet another dependency to this project.
In this folder you have the core PHP files for this system to work, the main components here are the Controllers, Models, Views and Data classes (only one at the moment).
Also it is important to note that the routes are rudimentary defined in /app/routes.php file, each route should match a class/method in the Controllers
Make sure you create a database called "fs_test", the script is located in /DATABASE_DUMP.sql it has the definition of the 'users' table and 1 record, the password for such record is "password01" Please update the /app.Config.php file with the connection strings for your environment. It is also important to update the "LOCAL_ROOT" variable with one that fits your environment.
Folder with some screenshots of the full project structure once all dependencies have been installed and how the interface looks like.
- PHP: Illuminate\Database (composer)
 - JS: bootstrap, jquery (bower)
 - CSS: bootstrap (bower)
 - NPM: bower, gulp, laravel-elixir
 
It is assumed that your dev computer has nodeJS installed as we will be using its build tools
- Clone the project
 - npm install
 - bower install
 - composer install --prefer-dist
 - gulp watch
 
Implement the following:
- Profile page (/profile) where the user can update all their details including password
 - Logout (/logout) destroys session and redirects to login
 - Register (/register) creates a new user and logs them in (no need to login right after the account is created)
 
Bootstrap and Jquery are already added to the project, so use bootstrap to enhance the look and feel of:
- Login form
 - Error message handling
 - Jquery for form/input validation
 - Extra bonus if you manage to add other front end dependencies (e.g. jquery-ui) through bower
 
Good luck!