When Heroku became paywalled, we decided to decommission the site. You can still explore the code and see how it used to look below.
Makers Academy - Final Project
Contributors: Josh Blumberg | Jason Wong | Ellie Jones | Joe Ellingworth | Hansa Lallu
Outline | Specifications | User stories | Accessing the app | Tech stack | Example use | Future work
An app for helping users decide what films to watch together. Click here to see the app in action.
We worked in a team of five to build a project of our choice. The timeline was two weeks, with a feature-freeze midway through the second week, and a live demo day at the end.
Because this project took place during COVID-19, we decided to create a tool which would help friends facilitate social decision making while under isolation. This idea took form as an app that would help two people choose a film to watch.
User stories, which we derived from the above specification, can be found here.
If you wish to visit the site as a user, please head to https://wepick.herokuapp.com. If you wish to contribute to this project, read on.
Contributing requires that you have an API key for TMDB and Utelly. Please follow the links and generate a key for each.
Once you have done that, create a .env file in the root, and add in each of the keys. It should look something like the below:
TMDB_KEY=long_string_of_characters
UTELLY_KEY=another_long_string_of_characters
- Clone this repo to your local machine and
cd
into it - Run
gem install bundle
if you don't have bundler already - Install homebrew if you don't have it already -- instructions here
- Run
brew install yarn
to install Yarn and Node - Run
bundle
andyarn install --check-files
to install the project's dependencies
To set up the databases, run the following migration commands:
rails db:create
rails db:migrate
To populate the dabase with movie data, run the following command:
rails db:seed
Development:
- Run the server with command
rails server
- Visit
localhost:3000
on your browswer to use the site
- Tests can be run using RSpec. Run the command
rspec
.
Front-end:
- HTML
- CSS (including Bootstrap)
Back-end:
- Ruby
- Ruby On Rails
- PostgreSQL
- The Movie Database (TMDB) API for movie fetch and details (about TMDB)
- Utelly for information about where to watch (about Utelly)
Testing:
- RSpec
- SimpleCov
- Code Climate
- Travis CI
Hosting:
- Heroku
You can see an example of the app in use below.
Please note that due to Utelly rate limits, the Utelly API has been temporarily commented out in the source code. Users can still match as normal, but they won't be shown where they can stream the film. The GIF below is a demonstration of the app with both APIs included.
On a revisit of the project, we would like to add the following features:
- Dynamic and reactive styling device to device
- Swipe to like and dislike on mobile
- Links and logos for the resources within the where-to-watch feature
- An about page and instructions embedded in the UI
- Automated refresh of the films in the database
- Ability to search by username when adding friends