Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/rachel-tanhao/raccoontv-movie-app
๐ฌโจ A Netflix clone built by your neighbor raccoon ๐ฆ
https://github.com/rachel-tanhao/raccoontv-movie-app
axios material-ui mui react redux redux-toolkit voice-assistant webapp webpack
Last synced: 6 days ago
JSON representation
๐ฌโจ A Netflix clone built by your neighbor raccoon ๐ฆ
- Host: GitHub
- URL: https://github.com/rachel-tanhao/raccoontv-movie-app
- Owner: rachel-tanhao
- Created: 2024-09-20T02:36:21.000Z (about 2 months ago)
- Default Branch: main
- Last Pushed: 2024-09-21T19:59:58.000Z (about 2 months ago)
- Last Synced: 2024-10-31T23:07:46.215Z (6 days ago)
- Topics: axios, material-ui, mui, react, redux, redux-toolkit, voice-assistant, webapp, webpack
- Language: JavaScript
- Homepage: https://rachel-tanhao.github.io/RaccoonTV-Movie-App/
- Size: 45.6 MB
- Stars: 1
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
# RaccoonTV - The Movie App ๐ฌ๐ฟ
**Hey there, movie lovers!** Itโs me, your sneaky but oh-so-friendly neighborhood raccoon! ๐ฆ Iโve built **RaccoonTV**, a Netflix-inspired full-stack movie app that does pretty much everything Netflix doesโexcept, you know, stream full-length movies (ah, copyrights! ๐ธ). What can I say? Iโm just a humble raccoon with empty pockets. ๐๐ But hey, you can still check out trailers!
On the tech side, RaccoonTV comes fully equipped with user authentication, profile management (build your own watchlist and favorites!), and even an AI Voice Assistant to navigate the app hands-freeโhow cool is that? ๐ฌโจ
## ๐ Why Did I Build This?
Well, let me tell youโI'm a raccoon with a huge love for Netflix and an even bigger dream of seeing myself on the big screen. But, surprise, surprise, no casting director wanted a raccoon. Like, excuse me? Who wouldnโt want this fluff on their screen?! So one day, I had a brilliant idea: if I canโt be an actor, Iโll just be the **logo**! ๐ฅ And boomโRaccoonTV was born. I built my own Netflix (!) and slapped my face right on the logo. Woo-hoo! ๐
![Desktop Demo](demo/desktop-demo.png)
## ๐ Live Demo
Hey! Check out my app in action ๐ฟ: [**RaccoonTV - Live Demo**](https://rachel-tanhao.github.io/RaccoonTV-Movie-App/)
![Phone Demo - Dark](demo/mobile-demo-dark.png)
### โจ Key Features
- **Real-time Data**: Efficient caching and data fetching with **Redux Toolkit Query**, ensuring up-to-date movie information ๐
- **Optimized Search**: Fast search powered by **React** and **Redux Toolkit** for smooth performance ๐
- **Comprehensive Movie Profiles**: Detailed movie info, including cast, ratings, and trailers, fetched via **Axios** and managed with **Redux** ๐ฅ
- **Personalized User Experience**: Manage your watchlist and favorites with **user authentication** and **profile management** using **TMDB's API** ๐
- **Voice-Controlled Navigation**: Hands-free browsing and search powered by **Alan AI** ๐ฃ๏ธ## ๐ Table of Contents
- [RaccoonTV - The Movie App ๐ฌ๐ฟ](#raccoontv---the-movie-app-)
- [๐ Why Did I Build This?](#-why-did-i-build-this)
- [๐ Live Demo](#-live-demo)
- [โจ Key Features](#-key-features)
- [๐ Table of Contents](#-table-of-contents)
- [๐ ๏ธ The Tech Behind RaccoonTV](#๏ธ-the-tech-behind-raccoontv)
- [๐ API Calls](#-api-calls)
- [๐ ๏ธ Setup Project](#๏ธ-setup-project)
- [๐ด Prerequisites](#-prerequisites)
- [๐ Installation](#-installation)
- [๐ Usage](#-usage)
- [๐ Environment Variables](#-environment-variables)
- [๐ค Contributing](#-contributing)
- [๐ซ Contact Me](#-contact-me)
- [๐ License](#-license)## ๐ ๏ธ The Tech Behind RaccoonTV
- **Framework**: Built with **React** โ๏ธ
- **State Management**: Powered by **Redux Toolkit** โ๏ธ
- **Styling**: Material-UI for that sleek look ๐
- **API Integration**: **Redux Toolkit Query** for seamless data fetching ๐
- **HTTP Client**: **Axios** for flexible API requests ๐
- **Data**: TMDB API for comprehensive movie information ๐ฟ
- **Voice Control**: Integrated with **Alan AI** for hands-free navigationโjust speak and explore! ๐ฃ๏ธ## ๐ API Calls
I may be a raccoon, but when it comes to fetching data, Iโve got some serious connections! Using the **TMDB API**, Iโve integrated all the essential calls to keep your movie experience top-notch. Hereโs what you can expect:
- **Get Genres** โ Because, duh, who doesnโt want to filter by genre? ๐ญ
- **Get Movies** (by type, search, category, or genre) โ Whether youโre feeling adventurous or already know what you want, Iโve got you covered.
- **Get Movie Details** (including videos and credits) โ Everything you need to know about a movie, from cast to trailers. ๐ฅ
- **Get Movie Recommendations** โ Oh yeah, Iโm all about serving up those โyou might also likeโ suggestions.
- **Get Actor Details** โ Want to stalkโI mean, followโyour favorite actors? Iโve got the deets. ๐ต๏ธโโ๏ธ
- **Get Movies by Actor ID** โ Find every movie your favorite star has graced.
- **Get User-Specific Lists** (favorites and watchlist) โ Keep track of all your must-watch films!
- **Authentication Token Request** โ I like to keep things secure, so we start with this. ๐
- **Create Session ID** โ You need access, I give you access. Simple as that. ๐These API calls are primarily defined in the **TMDB service file** (src/services/TMDB.js)โbecause even raccoons like to keep things organized. ๐๏ธ
## ๐ ๏ธ Setup Project
### ๐ด Prerequisites
Before you dive into RaccoonTV, make sure you have the following:
- **Node.js** ๐ณ
- **npm** ๐ ๏ธ
- **TMDB API Key** ๐
- **Alan AI API Key** ๐ฃ๏ธ### ๐ Installation
Ready to roll? Follow these steps:
1. **Clone the repository**:
```bash
git clone https://github.com/rachel-tanhaow/RaccoonTV-Movie-App.git
cd RaccoonTV-Movie-App
```2. **Install dependencies**:
```bash
cd client
npm install
```3. **Set up environment variables** (details below).
4. **Start the application**:
```bash
npm start
```## ๐ Usage
Once youโve got the app running, head over to **http://localhost:3000** (or a similar address - check your terminal). You can start browsing movies, searching for titles, and using voice commands to explore the app. ๐๏ธ
## ๐ Environment Variables
To get this up and running, you'll need to add your API keys. In the `client` directory, create a `.env` file and include the following:
```
REACT_APP_TMDB_KEY=your_tmdb_api_key
REACT_APP_ALAN_SDK_KEY=your_alan_ai_sdk_key
```- For TMDB API key: [Grab it here](https://developer.themoviedb.org/docs/getting-started)
- For Alan AI API key: [Grab it here](https://alan.app/)- ๐ฃ Iโve temporarily disabled Alan AI voice control because their API key is a bit pricey for this raccoonโ$100 to start! ๐ธ But the feature is fully implemented, so if youโre ready to splurge, you can set it up as above.
## ๐ค Contributing
Contributions from fellow movie-loving raccoons are welcome! ๐ฆ If youโve got an idea or feature to add, feel free to:
1. **Fork the repo** ๐
2. **Create your feature branch**:
```bash
git checkout -b feature/AmazingFeature
```
3. **Commit your changes**:
```bash
git commit -m 'Add some AmazingFeature'
```
4. **Push to the branch**:
```bash
git push origin feature/AmazingFeature
```
5. **Open a Pull Request**!## ๐ซ Contact Me
Got questions or feedback? Letโs chat! ๐ง
Hit me up at: **[email protected]**.
## ๐ License
This project is licensed under the **MIT License**. Check out the [LICENSE](LICENSE) file for more details.