This is the base repo for the viewing party project used for Turing's Backend Module 3.
Viewing party is an application in which users can explore movie options and create a viewing party event for the user and friend's. You can check out our site here!
- Ruby on Rails
- JQuery
- rspec-rails
- capybara
- shoulda-matchers
- faraday
- webmock
- vcr
- figaro
- travis
- rubocop-rails
- bcrypt
- factory_bot_rails
- faker
- simplecov
- Get an api key from The Movie Database API
- Fork and clone the repo
- Install any missing gems from gem file
- Create, seed and migrate the database with
$ rails db:{create,migrate,seed}
- In config/application.ymal paste:
MOVIEDB_API_KEY: "<YOUR API KEY>"
Replace with the key you obtained from The Movie Database API. - From your terminal run
$ rails s
and navigate to http://localhost:3000/ in your browser to navigate the app
- RSpec and Capybara were used for unit and integration testing and project development adhered to TDD principles.
- Travis-CI was used for continuous integration ensuring any changes pushed to the main branch did not break any previously implemented tests.
- Simplecov was used to track total test coverage and as of 12/10/2020 shows 100% coverage.
- Webmock and VCR gems were used to stub out API calls in the test suite. When running RSpec for the first time real responses from the Movie Database API will be recorded as 'cassettes' and kept as .yml files in the 'spec/fixtures' directory. The cassettes are set to expire 7 days from creation and will re-record when RSpec is run again after that 7 day period.
- To run our test suite, RSpec, enter
$ bundle exec rspec
in the terminal. (All 98 tests should be passing). - To see a coverage report enter
$ open coverage/index.html
- Full CRUD functionality for users, parties, friendships, party_guests.
- Add friends to existing parties, organize parties on dashboard by upcoming/past.
- Friend request system: friendships only created once request accepted
- Utilize Actionmailer to send viewing party event details to users.
- Implement Chat functionality with ActionCable
- Deploy to a different service other than Heroku
- Base Respository used for Turing's Backend Module 3.
- Wire Frames
- API Documentation