Feature List - nmallas/Netflix-Clone GitHub Wiki
MVP:
Feature 1: User Authentication (Estimated time: 2 days - 8/31 - 9/01)
- Users can create an account in order to access the main content of the site.
- Users can login/logout and persist their sessions across different pages and page reloads.
- Users can update their personal details on the account page.
- There is a demo user available in order to provide easy access to exploring full site functionality.
Feature 2: Home Page (Estimated time: 2 days - 9/02 - 9/03)
- Logged in users can view a collection of movies/shows sorted by categories (i.e. Trending, Most Popular).
- Content is generated dynamically by fetching data from a third-party api.
- Users can click on a title to view more information about it.
Feature 3: Profiles & Watchlists (Estimated time: 1 days - 9/04 - 9/04)
- Each user can create multiple profiles.
- Each profile can set a custom name and select an image from a list of profile images.
- Each profile can add or remove videos from their watchlist to view them at a later date.
- Profiles and Watchlists persist across logins.
Stretch:
Bonus Feature (Time-permitting): Search
- Users can search for a specific category or title and be given a list of related content.
Database Model:
- The database model for this project is pretty simple/straightforward
- Most of the heavy lifting is done by the third-party api
- Coming Soon
MVP EndPoints In Express:
Method | Path | Purpose |
---|---|---|
Get | / | Home Page |
Get | /users/create | Sign-Up Form |
Get | /users/login | User Login Form |
Post | /users | Create User Account |
Post | /users/login | Authenticate User |
Get | /users/:id | Access User Account |
Get | /users/:id/update | Form to Update Account Details |
Put | /users/:id/update | Update Account Details |
Delete | /users/:id | Delete User Account |
Get | /users/:id/profiles | View a list of profiles |
Post | /users/:id/profiles/:pId | Create a new profile |
Delete | /users/:id/profiles/:pId | Delete a profile |
Post | /profiles/:pId/watchlist | Create a watchlist |