Back to projects

ImoCinema

A modern, minimal movie discovery website built with Next.js, featuring a clean UI design and comprehensive movie search functionality.

July 12, 2025
2 min read
Live DemoCode
ImoCinema

ImoCinema

A modern, minimal movie discovery website built with Next.js, featuring a clean UI design and comprehensive movie search functionality.

ImoCinema Homepage
Click to zoom

ImoCinema Search
Click to zoom

✨ Features

  • Modern UI/UX: Clean, minimal design with consistent color scheme and typography
  • Responsive Design: Mobile-first approach with responsive grid layouts
  • Movie Search: Advanced search functionality with real-time results
  • Movie Discovery: Browse trending and popular movies
  • Sticky Navigation: Persistent header with smooth navigation
  • Skeleton Loading: Elegant loading states with animated placeholders
  • Compact Cards: Small, efficient movie cards for better browsing experience
  • 4-Column Grid: Optimized layout for desktop and tablet viewing

šŸ› ļø Tech Stack

  • Framework: Next.js 14 (App Router)
  • Language: TypeScript
  • Styling: Tailwind CSS
  • UI Components: Radix UI + Custom Components
  • Icons: Lucide React
  • State Management: React Hooks
  • API: RESTful API with Next.js API Routes

šŸš€ Getting Started

Prerequisites

  • Node.js 18+
  • pnpm (recommended) or npm

Installation

  1. Clone the repository
git clone https://github.com/Manish-Tamang/ImoCinema.git cd ImoCinema
  1. Install dependencies
pnpm install # or npm install
  1. Run the development server
pnpm dev # or npm run dev
  1. Open http://localhost:3000 in your browser

šŸ“ Project Structure

ImoCinema/
ā”œā”€ā”€ app/                   
│   ā”œā”€ā”€ api/             
│   ā”œā”€ā”€ movie/           
│   ā”œā”€ā”€ search/           
│   └── layout.tsx       
ā”œā”€ā”€ components/            
│   ā”œā”€ā”€ ui/               
│   ā”œā”€ā”€ header.tsx       
│   ā”œā”€ā”€ movie-card.tsx     
│   └── footer.tsx        
ā”œā”€ā”€ lib/                   
ā”œā”€ā”€ public/                
└── styles/                

šŸŽØ Design Principles

  • Minimalism: Clean, uncluttered interface
  • Consistency: Unified color palette and typography
  • Accessibility: High contrast and readable fonts
  • Performance: Optimized loading with skeleton states
  • Responsiveness: Adaptive layouts for all devices

šŸ“± Responsive Breakpoints

  • Mobile: 2 columns (grid-cols-2)
  • Tablet: 3 columns (sm:grid-cols-3)
  • Desktop: 4 columns (md:grid-cols-4)

šŸŽÆ Key Components

  • Sticky navigation with minimal design
  • Responsive mobile menu
  • Consistent branding and navigation

Movie Cards

  • Compact, efficient design
  • Hover effects and transitions
  • Optimized image loading

Search Interface

  • Clean search form with minimal styling
  • Real-time search results
  • Skeleton loading states

šŸ™ Acknowledgments