Viewing party is an application in which users can explore movie options and create a viewing party event for the user and their friends.
- Schema
- Technology
- Achievements
- Instructions
- Design Strategy
- Future Functionality
- Contributors
- Acknowledgements
This application is hosted on Heroku, where you'll be able to view its functionality to the fullest.
For usage on your local machine follow the instructions listed below:
git clone [email protected]:ninesky00/viewing_party.git
cd viewing_party
bundle install
rake db:{drop,create,migrate,seed}
rails server
Now, navigate to http://localhost:3000/
on your browser to view the application!
This is the base repo for the viewing party project used for Turing's Backend Module 3.
The design strategy of Viewing Party was to fully encapsulate each piece of functionality of the program and minimally store data, while avoiding API consumption limits:
- The Users Table represents all registered users for the viewing party application. Users are represented in the application as the current user and can also be represented as a friend of another registered user.
- The Friends Table represents registered users who have been designated by another registered user as a friend.
- The Parties Table stores information about parties created by users.
- The Parties Users Table links a party to a specific user.
- The Movies Table stores information about a movie and a movie can have many parties.
- Continuous deployment to both Heroku and Travis.
- Utilized TDD to ensure comprehensive application functionality, including both 'happy' and 'sad' paths.
- Applied principles of MVC to effectively organize code.
- Routing is organized and consistent and demonstrates use RESTful principles.
- All User Stories 100% complete including edge cases.
- 100% test coverage for features and models.
- Tests are well written and meaningful.
- Clear schema design with detailed and accurate diagram.
- Relationships modeled in the database correctly, including appropriate use of foreign keys.
- Project completed within seven-day time frame.
- Implemented ActionMailer to email users and their guests of Viewing Party details
- Utilized self-referential tables to allow users to have and belong to other users.
- Added functionality via multiple API endpoints to create a dynamic user experience.
- Authenticated user login via sessions implementation.
- Allow users to include a message or link when a new party is created.
- Include movie poster on both the discover and movie details page.
- Enable chat capability via ActionCable.
- Utilize JavaScript to update discover methods using Ajax.
- Allow users to add multiple hosts to a party.