FAQ

Staff placement test

As a new staff at undoLogic we have setup a basic test that will allow us to understand your strengths. 

You need to first complete the following:

Install Docker on your computer
- Download our template cakePHP v2.x project
- Start up docker on your local computer
- access 'localhost' on your browser and ensure it has started and you can see the test page

Next perform the following modifications to the code (below)

When you are done
-> ensure you run ./6saveCurrentDbState.sh (DB export) which will export your current database state into a sql file (docker/sql) 
-> Delete the OLD sql file so when we restart docker your new file will open
-> run 3rEsTartDocker.sh and ensure docker restarts with all your changes including database tables etc. 
-> Zip up the directory 
-> Upload the ZIP file to our developers for review

 







# 1 > Layout / View

On the default layout
-> Create a basic menu with the following links: "Home" "About" "Contact" "Login"
-> Contact should be on the contacts controller
-> Create the new pages home.ctp, about.ctp etc. 
-> Ensure when you click the menu it redirects you around the site





# 2 > Images

Add some images into the 'webroot/images' directory
-> Use cakePHP tags to display the images and make it a link that links to another page

Add CSS to the layout
-> when you rollover the image it give an effect so we know it is active





# 3 > Model

Show that you understand how to use the MODEL
-> Add some data to the database using 'localhost:8081'
-> Create a function within the model to get data from the database
-> Push the data from the database to the VIEW





# 4 > Functional testing

Show that you understand how to use the cakephp testing module

Create a simple test that get's data from a MODEL
-> And asserts that the data matches

 





# 5 > Login

Use CakePHP authentication 
-> Create a login page where you can add your email / pass
-> After you click login it should check in the DB for the matching email / pass
-> If NOT allowed display a error message
-> If it is successful login 
-> create a page user_loggedin.ctp (in the PAGES CONTROLLER)
-> Modify the app/Config/core.php and ensure you have the 'user' prefix

Configure::write('Routing.prefixes', array('admin', 'store', 'manager'));

Create a logout button and kill the session

Ensure when you are NOT logged in you cannot access the prefix

localhost/user/Pages/loggedin