Ecosyste.ms: Awesome

An open API service indexing awesome lists of open source software.

Awesome Lists | Featured Topics | Projects

https://github.com/lincoln1883/net-flix-capstone

The Popcorn Flix App is a SPA utilizing the concepts of routing with React Router, State Management with Redux. Axios to make calls to a movies API to fetch data, and the user can filter movies by keywords..
https://github.com/lincoln1883/net-flix-capstone

axios react react-router redux tailwind-css

Last synced: 3 days ago
JSON representation

The Popcorn Flix App is a SPA utilizing the concepts of routing with React Router, State Management with Redux. Axios to make calls to a movies API to fetch data, and the user can filter movies by keywords..

Awesome Lists containing this project

README

        

# Popcorn Flix
![Popcorn Flix](image.png)

# 📗 Table of Contents

- [📖 Popcorn Flix](#-popcorn-flix-)
- [🛠 Built With ](#-built-with-)
- [Tech Stack ](#tech-stack-)
- [Key Features ](#key-features-)
- [🚀 Live Demo ](#-live-demo-)
- [📹 Video Demo ](#-video-demo-)
- [Prerequisites](#prerequisites)
- [Setup](#setup)
- [Install](#install)
- [Usage](#usage)
- [Run tests](#run-tests)
- [Deployment](#deployment)
- [👥 Author ](#-author-)
- [🔭 Future Features ](#-future-features-)
- [🤝 Contributing ](#-contributing-)
- [⭐️ Show your support ](#️-show-your-support-)
- [🙏 Acknowledgments ](#-acknowledgments-)
- [📝 License ](#-license-)

# 📖 Popcorn Flix

The Popcorn Flix App is the Capstone project for React module three where we are required to build an SPA utilizing the concepts we learnt. I used Axios to make calls to a movies API to fetch data, I used Redux( useSelector and useDispatch) to update the state by filtering movies by title. I can navigate from the home page to a single movie page dynamically using React router, and fetch data with useEffect on page load and with action dispatch, finally, I used Jest and React Testing Library to make component tests and mock API calls.

## 🛠 Built With

### Tech Stack

![React](https://img.shields.io/badge/React-20232A?style=for-the-badge&logo=react&logoColor=61DAFB)
![React Router](https://img.shields.io/badge/-React%20Router-316192?style=for-the-badge&logo=react-router)
![Redux](https://img.shields.io/badge/Redux-593D88?style=for-the-badge&logo=redux&logoColor=white)
![Tailwind](https://img.shields.io/badge/Tailwind_CSS-38B2AC?style=for-the-badge&logo=tailwind-css&logoColor=white)
![Jest](https://img.shields.io/badge/-jest-%23C21325?style=for-the-badge&logo=jest&logoColor=white)

### Key Features

- Routing using react-router.
- App-wide State Management with Redux/Toolkit.
- Styling with Tailwind CSS.
- Data-fetching with Axios.
- Testing with Jest and React Testing Library.

(back to top)

### Live Demo
[Popcorn Flix](https://popcorn-flix.netlify.app/)

### Video Presentation
[Presentation](https://www.loom.com/share/7e820953b26248f68897f22fca7c3f09?sid=3de3d2bb-47e9-4ad0-95b7-83de7e748dfc)
### Prerequisites

In order to run this project you need to have the following installed:

```sh
- A web browser
- A code editor
- A terminal
- Git
- Node.js
```

### Setup

Clone this repository to your desired folder:

```sh
cd my-folder run `git clone https://github.com/lincoln1883/net-flix-capstone/`
```

### Install

Install this project with:

```sh
cd my-folder run `npm install`
```

### Usage

To run the project, execute the following command:

open the index.html file in your browser using the live server extension.

### Run tests

To test please execute the following command:

```sh
run `npm test`
```

(back to top)

## 👥 Author

####👤 Lincoln Gibson

- GitHub: [lincoln1883](https://github.com/lincoln1883)
- Twitter: [lincolngibson7](https://twitter.com/lincolngibson7)
- LinkedIn: [lincoln-gibson](https://linkedin.com/in/lincoln-gibson)

## 🔭 Future Features

(back to top)

## 🤝 Contributing

Contributions, issues, and feature requests are welcome!

Feel free to check the [issues page](../../issues/).

(back to top)

## ⭐️ Show your support

- Give a ⭐️ if you like this project!

(back to top)

## 🙏 Acknowledgments

- Thank you Microverse.
- Original design idea by Nelson Sakwa on Behance.

(back to top)

## 📝 License

This project is [MIT](./LICENSE) licensed.

(back to top)