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


⨠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
- Clone the repository
git clone https://github.com/Manish-Tamang/ImoCinema.git cd ImoCinema
- Install dependencies
pnpm install # or npm install
- Run the development server
pnpm dev # or npm run dev
- 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
Header
- 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
- Milan Bhandari (@milancodess) for the movie scraping logic from Soap2Day
