- 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
users
table to have bothADMIN
andEMPLOYEE
users. ADMIN
users can register a new account and create a newOrganisation
.ADMIN
users should see aEMPLOYEE
users data grid after logging in, includingADMIN
users.ADMIN
users can create, edit, and delete users.- Create seeders to create organisations and users, including admin users.
- An Organisation CRUD for
ADMIN
users. (Search is optional) - Write tests for the users CRUD.
- Allow
ADMIN
users to searchEMPLOYEE
users. - Add a policy to prevent
ADMIN
users from updating and deleting otherADMIN
users. - Add a policy to prevent
ADMIN
users 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
.env
file:
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