Skip to content

rachel-tanhao/RaccoonTV-Movie-App

Folders and files

NameName
Last commit message
Last commit date

Latest commit

ย 

History

25 Commits
ย 
ย 
ย 
ย 
ย 
ย 

Repository files navigation

RaccoonTV - The Movie App ๐ŸŽฌ๐Ÿฟ

Logo

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

๐ŸŒ Live Demo

Hey! Check out my app in action ๐Ÿฟ: RaccoonTV - Live Demo

Phone Demo - Dark

โœจ 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

๐Ÿ› ๏ธ 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:

    git clone https://github.com/rachel-tanhaow/RaccoonTV-Movie-App.git
    cd RaccoonTV-Movie-App
  2. Install dependencies:

    cd client
    npm install
  3. Set up environment variables (details below).

  4. Start the application:

    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

  • For Alan AI API key: Grab it here

  • ๐Ÿ“ฃ 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:
    git checkout -b feature/AmazingFeature
  3. Commit your changes:
    git commit -m 'Add some AmazingFeature'
  4. Push to the branch:
    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 file for more details.