This was a technical challenge for an interview. It's a Laravel application that is using Redis for its queues and Redis pub/sub to push elevator updates. supervisord is used to run the queue workers. Websockets are used to update the front-end of the application using laravel-echo-server.
It certainly is a bit over-engineered in some places, but I just wanted to touch a few areas of interests. Mainly:
- Websockets
- Redis Pub/Sub
- Proper usage of Bootstrap
- No jQuery
- Mobile first
- PHP 7.1
- Laravel 5.4
- Redis
- Node 6.x
- composer
- supervisor
- laravel-echo-server
- Within project directory root:
composer installnpm install - Edit your .env file to reflect your configuration.
php artisan migratephp artisan db:seednpm install -g laravel-echo-server - Configure and run supervisord (samples in
supervisordirectory) - Run supervisor jobs
- Enjoy!!
- While the bulk request API endpoint, and the SCANSchedule algo are ready, I haven't made the change to the front-end code. This is trivial, and will do it on the next major update.
- Since there are a lot of dependencies, a vagrang box or similar could be useful, although overkill.
