Skip to content

Full stack coding test for Webtools interview

License

Notifications You must be signed in to change notification settings

webtoolsnz/full-stack-coding-test

Repository files navigation

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

About

Full stack coding test for Webtools interview

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published