Back to Projects
MovieMates Reviews
Case Study2024

MovieMates Reviews

Project Introduction

MovieMates is a full-stack movie discovery platform where users explore films, build watchlists, save favorites, and share reviews powered by live TMDB API data.

The app balances rich media presentation with fast interactions—users can search, filter genres, and dive into detail pages without losing context from their browsing session.

Tech Stack

ReactRedux ToolkitTailwind CSSNode.jsMongoDBExpressTMDB API

Key Learnings

  • State Management at Scale

    Used Redux Toolkit to coordinate favorites, watchlists, and async API slices across search, detail, and profile views without prop-drilling or stale state bugs. Each feature domain—movies, reviews, user collections—had its own slice with clearly defined actions and selectors. Async thunks handled TMDB API calls with loading, success, and error states surfaced consistently in the UI. Centralized state made it easy to persist user preferences across page navigations and keep the browsing session coherent from discovery to review submission.

  • Media-Heavy UI Performance

    Optimized poster grids with lazy loading, responsive image sizes, and skeleton placeholder states to keep scroll performance smooth on media-rich browse pages. Images were served at appropriate resolutions per breakpoint to avoid downloading full-size posters on mobile devices. Virtualization was considered for long genre lists, and intersection observers triggered loads only when cards entered the viewport. These optimizations ensured the app remained fluid even when rendering hundreds of movie thumbnails simultaneously.

  • REST API Design

    Structured Express endpoints around user collections and review workflows with clear validation layers and consistent error response formats. Authentication middleware protected write operations while public read endpoints served movie metadata and aggregated ratings efficiently. Input validation on review text and rating values prevented malformed data from reaching MongoDB. The API was organized by resource—users, movies, reviews, watchlists—making it straightforward to extend with new features like social sharing or recommendation feeds.