Thank you for taking the time to apply for a Laravel developer position with Innotec. Please complete and return the test within 48 hours of receipt. The task should take no more than 2 hours. Please fully read this guide and contact us if you have any questions.
Build a simple authenticated Laravel website with a dashboard, that can only be accessed via a login. The dashboard should be populated via a REST API of your choice. You are also required to upload it to a public repo (preferably Github, but Bitbucket etc is fine.) and send us a link to the repo.
As this test is specific to Laravel, we don't care so much about what data source you use, which front-end framework is used etc, what we will be evaluating is the following:
- A clear and strong understanding of Object Oriented PHP
- Effective use of design patterns
- Design principles such as DRY, SOLID etc
- Coding standards
- Best Laravel practices
- API handling
- Security
- Validation
- A login page โ this should accept an email address and password, as well as handle any errors.
- A dashboard โ this should only be accessible after logging in and will contain a table of data. This can be populated with any dataset of your choice. We suggest consuming a public API somewhere such as Awesome public Datasets (feel free to use whatever you wish though).
- A piece of functionality of your choice that allows you to display your strengths as a developer. This can be anything you like, and gives you the opportunity to stand out from the crowd!
At a minimum it should take an email address and password, have a submit button, reject invalid users and accept valid ones. Once validated, you should be taken to the dashboard which will display the table of data consumed by your API.
- Automated testing
- Sorting and filtering
- Search functionality
- Pagination
- Well written Readme / Documentation
Don't waste time on how the site looks - we would much prefer the time is spent showcasing your PHP Knowledge and skills. The same goes for functionality that is already part of Laravel - there is no point in wasting time re-creating functionality such as logging in or pagination when Laravel's own implementation is more than suffice for the task.
Good luck!