The project was built using the Laravel framework since I am most familiar with it due to my experience with Ruby on Rails.
- Install project dependencies:
composer install
andnpm install
- Set up the environment variables by creating a
.env
file and updating the necessary values. - Run the database migrations and seeders to set up the database:
php artisan migrate --seed
- Start the development server:
php artisan serve
- Access the application in your web browser.
In this assignment I mainly focused on the backend to make sure I cover most of the requirements stated in the document. The front was put together to help demonstrate the functionality, but there has been some problems with the responsiveness of the map.
- Create user account
- Login as a user
- Add and remove categories for the desks
- Add and remove desks
- Move desks around and resize them
- Edit desk name or symbol
The database has seeders that allow you to directly insert mock data into for better visualization. I decided to implement my own user authentication system to better demonstrate my experience as opposed to using Laravel built in Auth system. All the routes have a custom middleware to ensure that the user is logged in before doing any adjustments in the app. I also added 3 test classes to test all the controllers, all 15 tests pass the assertions.
- HTML/CSS/Javascript
- Jquery/Ajax
- PHP/Laravel
- Postgresql
- PHPUnit
- Linux
- PHPStorm
- pgAdmin 4
- Git
Learn websockets =)