Entertainment

Che Phim - Movie Review Social Network

Social network for sharing and reviewing movies, where users can rate, create playlists and interact with the movie-loving community.

View Website
Che Phim - Movie Review Social Network

Timeline

8 weeks

Team

2 people (Frontend Developer, Backend Developer)

Client

Personal Project

Budget

$400-800

About Project

Che Phim is a movie-focused social network platform built with Next.js 16 and React 19. The project integrates with TMDB API for movie data, uses RESTful API architecture with versioning (v1/v2) and implements complex features like authentication with automatic token refresh, infinite scroll, image optimization and real-time notifications. The application is containerized with Docker and supports good SEO with automatic sitemap generation. Key features include ranking/leaderboard system, playlist management with drag-and-drop, and comprehensive content reporting system.

Technologies Used

Next.js 16React 19GolangTypeScriptZustandTanStack QueryRadix UIFirebaseGoogle OAuthTailwind CSSSwiper@dnd-kitDocker

Key Features

Movie review system with 3 types: short review, long review and video review (YouTube), supporting spoiler marking

Create and manage movie playlists with drag-and-drop sorting, sharing, upvote and repost

Movie rating and reaction with 3 levels: like, dislike, mid. Track watched, watching and want-to-watch lists

Dynamic feed with 2 modes: Recommended and Friends (activities of followed users)

Ranking and leaderboard system with user ranking by points, daily login bonus

Advanced search: movies, TV series, users, playlists and actors

Multi-level comment system with like/unlike, reply to comments

Real-time notifications with categories: follow notifications and activity notifications

Follow/Unfollow users, block/unblock user with followers/following statistics

Content and user reporting system with multiple specific reasons

Automatic sitemap generation for movies, TV series, playlists, reviews for SEO optimization

Infinite scroll with IntersectionObserver API, lazy loading images with custom loader

Challenges

  • Complex token authentication management: handling automatic token refresh when access token expires, avoiding race conditions when multiple requests encounter 401 errors simultaneously
  • Performance optimization with large data volumes: infinite scroll for feeds, reviews, playlists with thousands of items, optimizing image loading from multiple sources (TMDB, CDN, API)
  • API versioning and migration synchronization: maintaining 2 API versions (v1 and v2) in parallel, gradual migration with backward compatibility

Solutions

  • Implemented token refresh queue mechanism: using isRefreshing flag and failedQueue to queue 401 error requests, calling refresh API only once, then retrying all with new token via axios interceptors
  • Using TanStack Query with infinite queries for pagination, custom hook useInfiniteScroll with IntersectionObserver, Zustand to separate global state and server state reducing re-renders
  • Created 2 separate axios instances with different baseURLs, implemented service layer pattern to abstract API calls, allowing independent service migration with TypeScript type-safety

Results

  • Successfully built movie social network platform with 12+ complete core features, full CRUD support for reviews, playlists, comments
  • Achieved good performance with infinite scroll and image optimization, minimizing unnecessary requests and optimizing bandwidth
  • Clear codebase architecture with separation of concerns, supporting Docker deployment with multi-stage build optimizing image size

Client Testimonial

Che Phim provides an excellent movie review experience with beautiful interface and always updated movie information.

Người dùng Chê Phim

Reviewer

Want a similar project?

Contact Hoang Trung Digital for free consultation and quote. We're ready to turn your ideas into reality.