Skip to content

CritiCast is a modern, cross-platform movie and series review mobile app frontend built with React Native and Expo (TypeScript). It lets users browse movies in real time, view details, authenticate, and interact with community reviews powered by The Movie Database API.

Notifications You must be signed in to change notification settings

JeJaMel/CritiCast-app

Repository files navigation

🎬 CritiCast

CritiCast is a modern, cross-platform movie and series review application built with React Native and Expo. It provides a rich user experience for browsing, searching, and rating films, powered by The Movie Database (TMDB) API and a custom backend.

CritiCast Banner


✨ Key Features

  • Dynamic Movie Browsing: Explore lists of popular, top-rated, now playing, and upcoming movies, with data fetched in real-time.
  • Full User Authentication: Secure user registration and login flow.
  • Community Reviews & Ratings: Users can create, read, update, and delete their own movie reviews and ratings.
  • Advanced Filtering & Searching: A powerful search and filter system to find movies by name, genre, rating, and more.
  • Detailed Movie Information: View comprehensive details for each movie, including synopsis, cast, budget, genres, and both TMDB and user ratings.
  • Personalized User Profiles: Users can manage their profile, including updating their username.
  • Modern & Animated UI: A smooth, beautifully designed user interface with animations and a custom dark theme.

📱 Screenshots

Home Screen Profile Drawer
Home Screen Profile Drawer
Movie Details (Main) Movie Details (Reviews)
Movie Details Movie Details Reviews

🛠️ Tech Stack

The application is built with a modern and robust stack, separating concerns between the frontend and backend.

🚀 Frontend (React Native)

🔧 Backend


🚀 Getting Started

Follow these instructions to get the project up and running on your local machine for development and testing purposes.

Prerequisites

  • Node.js (LTS version recommended)
  • npm or yarn
  • Git
  • An Android Emulator or a physical device with the Expo Go app.

Installation & Setup

  1. Clone the repository:

    git clone https://github.com/JeJaMel/CritiCast-app.git
    cd CritiCast-app
  2. Install dependencies:

    npm install
  3. Set up Environment Variables: Create a .env file in the root of the project by copying the example file:

    cp .env.example .env

    Now, open the .env file and fill in your own credentials and local backend URL.

    .env.example:

    # The Movie Database (TMDB) API Key
    EXPO_PUBLIC_MOVIE_DB_KEY="YOUR_TMDB_API_KEY_HERE"
    
    # Stage can be 'dev' or 'prod'
    EXPO_PUBLIC_STAGE=dev
    
    # Your backend's local URL. Change the IP if needed.
    EXPO_PUBLIC_API_URL=http://localhost:4000
    EXPO_PUBLIC_API_URL_IOS=http://localhost:4000
    EXPO_PUBLIC_API_URL_ANDROID=http://192.168.1.100:4000 #<-- Change this to your PC's local IP

    ⚠️ Important: Never commit your .env file to version control.

  4. Start the development server:

    npx expo start

    This will open the Expo development server. You can now open the app in an emulator, on a physical device via the Expo Go app, or in a development build.


📂 Project Structure

The project follows a feature-sliced design approach to keep the code organized and scalable.

├── app/ # Expo Router file-based routing.

├── core/ # Core business logic (actions, mappers, interfaces)

├── presentation/ # All UI-related code (components, hooks, screens, store)

├── assets/ # Static assets like fonts and images

├── helpers/ # Helper functions and adapters

└── ... # Configuration files (eas.json, app.json, etc.)

🙏 Acknowledgements

  • This project uses the TMDb API but is not endorsed or certified by TMDb.
  • Built with the tools provided by the Expo team and the open-source community.

About

CritiCast is a modern, cross-platform movie and series review mobile app frontend built with React Native and Expo (TypeScript). It lets users browse movies in real time, view details, authenticate, and interact with community reviews powered by The Movie Database API.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages