/event-shuffle

Primary LanguageJavaScriptMIT LicenseMIT

Event Shuffle

Eventshuffle is an application to help scheduling events with friends, quite like http://doodle.com/ but in a much simplified way. An event is created by posting a name and suitable dates to the backend, events can be queried from the backend and participants can submit dates suitable for them.

And this is a RESTful API, that enables that

CircleCI

Running the server

A running version can be found on heroku at https://event-shuffle.herokuapp.com

If you have docker compose on your machine you can simply run docker-compose up and connect to port 8000

Both versions (heroku and docker) use a PostgreSQL database

API documentation

You can find the swagger documentation on heroku at https://event-shuffle.herokuapp.com/documentation. The local swagger doc can of course be found on http://localhost:8000/documentation

Packages used

  • babel for ES2015 fun
  • hapi seems like a sane server framework
  • joi for data spec and validation
  • hapi-swagger hapi-swagger for OpenAPI documentation
  • Inert to serve the swagger doc
  • Vision to render the swagger doc
  • Boom makes thrown errors readable
  • eslint with AirBnB's style guide to make sure things are readable and simple and to remind me to destructure ✨
  • Sequelize as ORM, which I thought would save me time. Boy did it. NOT.
  • node-postgres version 6, because of issue #8463
  • chai for BDD style assertions
  • mocha test framework
  • nodemon to restart node when I save

TODO

  • Add coverage report
  • Option to use SQLite 3 when no DATABASE_URL is specified
  • API tests (would use SQLite in stead of postgresql)
  • Separate DB from model