Skip to content

michfarr/sinatra_activerecord_roar

Repository files navigation

Sinatra app

Written using Sinatra, ActiveRecord, and Roar. Rubocop is utilized with Guard to insure code quality. Features were written using Cucumber to test the endpoints for the nested resources: Artists, Albums, and Songs.

My objectives were:

  • 3 linked entities: Artists, Albums, Songs
  • Basic operations are implemented: Create, Read, Update, Destroy, Search
  • Hypermedia API using HAL/JSON
  • Supports multiple users and performs authentication with JSON Web Tokens
  • ORM: ActiveRecord using SQLite3 (Test/Development) and Postgres (Production)
  • Acceptance tests/documentation of API endpoints in Cucumber
  • Simple client demonstrating the API
  • Rubocop compliant

I also decided to package the code with Docker. To use the app:

$ git clone [email protected]:michfarr/sinatra_activerecord_roar.git

$ docker-compose up

$ docker-compose run web rake db:create db:migrate db:seed

Once you've done this you'll be able to use the app.

TODO

  • Implement Search
  • Implement Users/Authentication
  • Implement client
  • Extend feature coverage for current content (and for new content)

About

Sinatra app using activerecord and roar

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published