Thank you for applying to our PHP Developer position at Kiddocare. For our selection process, we would require that you complete this assignment and submit it to us before 5pm, 19th September 2021, Kuala Lumpur time.
Please read the instructions carefully.
It is important that you do this assignment yourself to reflect your own true ability to perform the tasks. You are free to do research on the Internet, use Google, Stackoverflow, Youtube videos, books, and any other resources available to you. However do not ask for assistance from anybody else to complete this assignment.
You are required to make an authentication process for this project. A user should be able to login, access a secure page, and logout. Without a valid login, a user should not be able to access the secure page, and will be redirected to login.php.
Below are the files that must be present in this project.
index.php
-- the secure pagelogin.php
-- to display the login screenlogout.php
-- to process logout and redirect user to login.phpusers.txt
-- contains user credentials for authentication
- User credentials for authentication must be accessed from
users.txt
file. Do not import this into your MySQL database. - Each row in
users.txt
contains the following information<username>
|<password>
- You are not allowed to use any PHP frameworks like Laravel, Codeigniter, Yii, etc
- You are not allowed to use Composer to import any external PHP libraries
- You are not allowed to use NPM, Yarn or any other CLI for frontend libraries.
- You are allowed to use any CSS framework like Tailwind or Bootstrap
- You are allowed to use any frontend Javscript libraries like jQuery or VueJS
- Any frontend libraries for CSS and/or Javascript must be added via CDN.
- Your own custom CSS and Javascript files must be added in /css and /js folder respectively
Continuing from Assignment 1, the secure page is to be developed into a dashboard that displays data from northwind
database.
- Create a new empty database in your local MySQL
- Import the
northwindmysql.sql
file into your local database - Study the database to understand its table relationships
- Update
index.php
to display a dashboard from thenorthwind
database - You may use any charting and diagram library that you feel fit
- Any frontend libraries for CSS and/or Javascript must be added via CDN.
- Your dashboard must display data for the month May 1995
- Your dashboard must contain the following 6 widgets
- Total Sales (text number)
- Total Orders (text number)
- Daily Sales (bar chart)
- Percentage of sales by product categories (sales percentage breakdown for the month)
- Sales numbers by customers
- Sales numbers by employees
- You may add any additional PHP files of your own as needed, ie,
dbconnect.php
,libraries.php
- Make the dashboard dynamic where the a user can select the month period to view for the dashboard
To submit your assignment, please following the instructions below :
- Create a new public Github project
- Push all your work to your new Github project using the
main
branch - Send an email to iszuddin@kiddocare.my with subject line Kiddocare PHP Developer Assignment Submission
- Provide the link to your Github project in the email
- Your email must arrive in our Inbox before 5:00 pm, 19th September 2021, Kuala Lumpur time.