Skip to content

Latest commit

 

History

History
82 lines (56 loc) · 2.04 KB

README.md

File metadata and controls

82 lines (56 loc) · 2.04 KB

Webtools Full Stack Coding Test

  • 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.

Overview

Build a small laravel application to manage organisation's users:

  1. Extending users table to have both ADMIN and EMPLOYEE users.
  2. ADMIN users can register a new account and create a new Organisation.
  3. ADMIN users should see a EMPLOYEE users data grid after logging in, including ADMIN users.
  4. ADMIN users can create, edit, and delete users.
  5. Create seeders to create organisations and users, including admin users.
  6. An Organisation CRUD for ADMIN users. (Search is optional)
  7. Write tests for the users CRUD.

Bonus Points

  • Allow ADMIN users to search EMPLOYEE users.
  • Add a policy to prevent ADMIN users from updating and deleting other ADMIN users.
  • Add a policy to prevent ADMIN users from deleting themselves.
  • Clean and quality code
  • Good code structure.
  • We love comments and documentation.

Stack

  1. Database: MySQL
  2. Backend Framework: Laravel
  3. Frontend: React (preferred) / Vue / JQuery
  4. Docker

Other Requirements:

  1. Please do not use CRUD generators and admin packages.
  2. No hosting needed.

Setup the project

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:

  1. Set up the .env file:
cp .env.example .env
  1. Start up the services
docker-compose up -d
  1. Install the dependencies
docker-compose exec php composer install

npm install
  1. Build the frontend
npm run dev
  1. Create a key
docker-compose exec php php artisan key:generate
  1. Run migrations
docker-compose exec php php artisan migrate --seed