Coffee is the lifeblood of the office. Occasionally, when the office coffee maker just can't satisfy, a noble soul may venture out into the wild to seek adequate caffeination. This age-old practice is known colloquially as the Coffee Run, and this application seeks to aid in keeping the tradition strong.
This demo application uses various web technologies to allow users to schedule or subscribe to coffee runs. Realistically, it is best suited for small groups who just want a cup of the good stuff.
- PHP 7 with Laravel 5.7
- React 16.8 + Redux
- SQLite
- Slack API (For coffee arrival notifications)
Installation instructions will eventually include a Docker-based (and much nicer) alternative.
- Clone this repository
- Within the
coffee-runner
directory, run the following commands in the order they appear:composer install
npm install
touch database/db.sqlite
(note: you may need to install SQLite drivers)cp .env.example .env
- Open
.env
in your preferred editor and add the following lines:DB_CONNECTION=sqlite
DB_DATABASE="<FULL-PATH-TO/coffee-runner/database/db.sqlite>"
Note: you will want to remove other DB Fields.
- Open
database/seeds/UsersTableSeeder.php
in your preferred editor and change my email address to yours.
The password issecret
by default. - Run the following artisan commands in the order they appear:
php artisan migrate
php artisan db:seed
- Generate a new application key with
php artisan key:generate
- Start the server with the
php artisan serve
command.
That should do it. If you encounter any problems with the installation, please create an issue and I will address it.
The following is a (growing) list of nice-to-haves that will likely not be implemented soon due to time constraints.
Depending on future time they may be added.
- WebSocket subscriptions using Pusher API
- Update the client for all users whenever a CRUD action takes place or a coffee run expires.
- GraphQL Implementation
- Replace existing API routes with something much nicer for client-side consumption.