- We'd expect candidates to complete this coding test within 2-4 hours.
- Please duplicate the project to a private GitHub repository, and invite the reviewer to the repository when you've completed the assessment. We want to see good commit hygiene.
- Feel free to show some flair if you feel like and have the time to do so.
Build a small laravel application to manage organisation's users:
- Extending
userstable to have bothADMINandEMPLOYEEusers. ADMINusers can register a new account and create a newOrganisation.ADMINusers should see aEMPLOYEEusers data grid after logging in, includingADMINusers.ADMINusers can create, edit, and delete users.- Create seeders to create organisations and users, including admin users.
- An Organisation CRUD for
ADMINusers. (Search is optional) - Write tests for the users CRUD.
- Allow
ADMINusers to searchEMPLOYEEusers. - Add a policy to prevent
ADMINusers from updating and deleting otherADMINusers. - Add a policy to prevent
ADMINusers from deleting themselves. - Clean and quality code
- Good code structure.
- We love comments and documentation.
- Database: MySQL
- Backend Framework: Laravel
- Frontend: React (preferred) / Vue / JQuery
- Docker
- Please do not use CRUD generators and admin packages.
- No hosting needed.
This project has a docker-compose.yml contains the basic stack setup to quickly spin up the local development environment.
To set up the project please follow the steps below:
- Set up the
.envfile:
cp .env.example .env- Start up the services
docker-compose up -d- Install the dependencies
docker-compose exec php composer install
npm install- Build the frontend
npm run dev- Create a key
docker-compose exec php php artisan key:generate- Run migrations
docker-compose exec php php artisan migrate --seed