Objective
Using React, build the client-side for an app called myFlix based on its existing server-side code (REST API and database).
What I've learned while working on the project
- Introduction to Frameworks & Libraries
- Building with JavaScript
- React Components & the Virtual DOM
- React Lifecycle Methods
- React Forms
- React Bootstrap
- Client-Side App Routing
- Introduction to Redux
- Deploying & Hosting a React App
The 5 W's
- Who? The users of my myFlix app—movie enthusiasts who enjoy reading information about different movies.
- What? A single-page, responsive app with routing, rich interactions, several interface views, and a polished user experience.
- When? myFlix users will be able to use it whenever they want to read and save information about different movies.
- Where? The app will be hosted online. The myFlix app itself is responsive and can therefore be used anywhere and on any device, giving all users the same experience.
- Why? Movie enthusiasts like to be able to access information about different movies, whenever they want to. Having the ability to save a list of their favorite movies will ensure users always have access to the films they want to watch or recommend to their peers.
User Stories
As a user, I want to be able to access information about movies so that I can learn more
about movies I’ve watched or am interested in.
As a user, I want to be able to create a profile so I can save data about my favorite movies.
Technical Requirements
- The application must be a single-page application (SPA)
- The application must use state routing to navigate between views and share URLs
- The application must give users the option to filter movies using a “search” feature
- The application must use Parcel as its build tool
- The application must be written using the React library and in ES2015+
- The application must use Bootstrap as a UI library for styling and responsiveness
- The application must contain function components
- The application must be hosted online
- The application may use React Redux for state management of at least one feature (i.e., filtering movies)