Skip to content

🎬 Elegant movie discovery platform with React β€’ TMDb API β€’ Burgundy red theme β€’ 3D billboard logo β€’ Diamond shining stars β€’ Mobile optimized β€’ Netflix-inspired UI

Notifications You must be signed in to change notification settings

CapBraco/CineStream

Folders and files

NameName
Last commit message
Last commit date

Latest commit

Β 

History

14 Commits
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 

Repository files navigation

🎬 CineStream - Movie Explorer

CineStream Logo

An elegant, fully responsive movie discovery platform with premium aesthetics

React License TMDb API Mobile Optimized

Live Demo β€’ Features β€’ Installation β€’ Documentation


πŸ“– About

CineStream is a modern, sophisticated movie exploration platform that combines elegant design with powerful functionality. Built with React and powered by The Movie Database (TMDb) API, it offers a premium streaming service aesthetic with Netflix, Amazon Prime, and HBO-inspired UI/UX.

✨ Highlights

  • 🎨 Elegant Burgundy Red Theme - Premium, sophisticated color scheme
  • πŸ’Ž 3D Billboard Logo - Custom text logo with realistic neon effects
  • ⭐ Diamond Shining Stars - Animated gold ratings that sparkle
  • πŸ“± Mobile Optimized - 40% more screen space on mobile devices
  • 🎬 Featured Movies - Auto-playing trailers with mute controls
  • πŸ” Genre Navigation - Full sidebar with all movie categories
  • πŸŒ™ Dark Theme - Easy on the eyes, perfect for movie browsing
  • ⚑ Fast & Smooth - Pure CSS animations, no heavy libraries

🎯 Features

🎬 Core Functionality

  • Featured Movie Section

    • Full-screen auto-playing trailers
    • Mute/unmute audio controls
    • Movie metadata and star ratings
    • "More Info" detailed modal
  • Genre Navigation

    • Complete sidebar with all TMDb genres
    • Active state highlighting
    • Smooth category switching
    • Mobile-friendly toggle
  • Movie Grid

    • Responsive CSS Grid layout
    • Hover effects with details overlay
    • Star ratings with diamond shine
    • High-quality poster images
  • Movie Details Modal

    • Full movie information
    • Genre tags with burgundy styling
    • Release dates and runtime
    • Embedded trailers

🎨 Design Features

  • Burgundy Red Theme

    • Professional color palette (#8B0000)
    • Consistent throughout UI
    • Premium movie theater aesthetic
  • 3D Billboard Logo

    • Custom "Cap Braco" text logo
    • 16-layer shadow depth effect
    • Neon red glow when activated
    • Realistic billboard projection
  • Diamond Shining Stars

    • Pure gold color (#FFD700)
    • 2-second breathing animation
    • Corner sparkle effect
    • Multi-layer golden glow
  • Luminous Card

    • Interactive portfolio showcase
    • Toggle switch with slide animation
    • Links to www.capbraco.com
    • Fits perfectly in sidebar (95%)

πŸ“± Responsive Design

  • Desktop (>1024px)

    • Full sidebar navigation (280px)
    • Large text and spacious layout
    • Complete descriptions
    • Enhanced visual effects
  • Tablet (768px - 1024px)

    • Toggleable sidebar
    • Medium-sized elements
    • 3-line text limits
    • Comfortable touch targets
  • Mobile (480px - 768px)

    • Compact layout (60vh featured)
    • Side-by-side buttons
    • 2-line text limits
    • 20-32px titles
  • Extra Small (<480px)

    • Maximum accessibility (50vh)
    • Minimal text (18-24px)
    • Tiny buttons (8px padding)
    • Touch-optimized (44x44px)

πŸš€ Installation

Prerequisites

Quick Start

# Clone the repository
git clone https://github.com/CapBraco/CineStream.git
cd CineStream

# Install dependencies
npm install

# Add your TMDb API key
# Edit src/services/tmdb.js and add your API key

# Start development server
npm start

# Open http://localhost:3000

Build for Production

# Create optimized build
npm run build

# The build folder is ready to deploy

Deploy to GitHub Pages

# Update homepage in package.json
"homepage": "https://CapBraco.github.io/cinestream"

# Deploy
npm run deploy

πŸ› οΈ Technology Stack

Frontend

  • React 19.2 - UI library
  • React Hooks - State management
  • CSS3 - Styling and animations
  • Font Awesome 4.0.3 - Icons

APIs & Services

  • TMDb API - Movie data and images
  • Google Fonts - Custom typography
    • Inter (body text)
    • Playfair Display (logo)
    • WindSong (script logo)

Tools & Build

  • Create React App - Build tooling
  • GitHub Pages - Deployment
  • npm - Package management

πŸ“‚ Project Structure

cinestream/
β”œβ”€β”€ public/
β”‚   β”œβ”€β”€ index.html
β”‚   └── manifest.json
β”œβ”€β”€ src/
β”‚   β”œβ”€β”€ components/
β”‚   β”‚   β”œβ”€β”€ FeaturedMovie.jsx      # Hero section with trailer
β”‚   β”‚   β”œβ”€β”€ MovieInfo.jsx          # Modal with movie details
β”‚   β”‚   β”œβ”€β”€ MovieList.jsx          # Grid of movie cards
β”‚   β”‚   β”œβ”€β”€ MovieTrailer.jsx       # Trailer player
β”‚   β”‚   β”œβ”€β”€ NavBar.jsx             # Sidebar navigation
β”‚   β”‚   └── LuminousCard.jsx       # Portfolio card
β”‚   β”œβ”€β”€ containers/
β”‚   β”‚   └── GenresContainer.jsx    # Main container
β”‚   β”œβ”€β”€ hooks/
β”‚   β”‚   β”œβ”€β”€ useGenres.js           # Fetch genres
β”‚   β”‚   β”œβ”€β”€ useMovies.js           # Fetch movies by genre
β”‚   β”‚   β”œβ”€β”€ useMovieInfo.js        # Fetch movie details
β”‚   β”‚   β”œβ”€β”€ useMovieTrailer.js     # Fetch trailers
β”‚   β”‚   └── useRandomMovie.js      # Random featured movie
β”‚   β”œβ”€β”€ services/
β”‚   β”‚   └── tmdb.js                # TMDb API configuration
β”‚   β”œβ”€β”€ App.jsx                    # Root component
β”‚   β”œβ”€β”€ styles.css                 # Global styles
β”‚   └── index.js                   # Entry point
β”œβ”€β”€ docs/
β”‚   β”œβ”€β”€ COMPLETE_TRANSFORMATION_LOG.md
β”‚   β”œβ”€β”€ BURGUNDY_RED_THEME.md
β”‚   β”œβ”€β”€ 3D_BILLBOARD_EFFECT.md
β”‚   β”œβ”€β”€ MOBILE_OPTIMIZATION.md
β”‚   └── QUICK_START.md
β”œβ”€β”€ package.json
└── README.md

🎨 Color Palette

/* Burgundy Red Theme */
--accent-color: #8B0000        /* Dark burgundy */
--accent-hover: #A52A2A        /* Brown-red hover */
--accent-dark: #5C0000         /* Deep red */
--accent-light: #B22222        /* Firebrick red */
--neon-red: #DC143C            /* Crimson neon glow */

/* Gold & Text */
--gold: #FFD700                /* Pure gold for stars */
--text-primary: #F5F5F0        /* Ivory white */
--text-secondary: #D4D4D8      /* Silver gray */

/* Backgrounds */
--bg-primary: #0a0a0a          /* Deep black */
--bg-secondary: #141414        /* Dark gray */
--bg-tertiary: #1a1a1a         /* Medium gray */

βš™οΈ Configuration

TMDb API Setup

  1. Get a free API key from TMDb
  2. Open src/services/tmdb.js
  3. Replace YOUR_API_KEY with your actual key:
const API_KEY = 'your_tmdb_api_key_here';

Customization

Change Colors

Edit CSS variables in src/styles.css:

:root {
  --accent-color: #8B0000;  /* Your color here */
  --gold: #FFD700;          /* Star color */
}

Modify Logo

Update text in src/components/LuminousCard.jsx:

<p className="cap-text">Your</p>
<p className="braco-text">Brand</p>

Adjust Responsive Breakpoints

Modify media queries in src/styles.css:

@media only screen and (max-width: 768px) {
  /* Your mobile styles */
}

πŸ“± Browser Support

Browser Version
Chrome 90+
Firefox 88+
Safari 14+
Edge 90+
iOS Safari 14+
Chrome Android 90+

Required Features

  • CSS Grid
  • Flexbox
  • CSS Transforms
  • CSS Animations
  • Fetch API

🎬 Features in Detail

Featured Movie Section

  • Auto-playing Trailers: Seamless YouTube integration
  • Mute Control: Toggle audio on/off
  • Gradient Overlay: Smooth blend to content
  • Responsive Heights: 85vh β†’ 50vh based on screen
  • Star Ratings: Animated gold stars with diamond shine

Sidebar Navigation

  • Full Genre List: All TMDb categories
  • Active States: Burgundy red highlighting
  • Search Box: Placeholder for future implementation
  • Discover Section: Trending, Popular, Coming Soon
  • Resources Section: News, Reviews, Box Office
  • Luminous Card: Portfolio showcase at bottom

Movie Cards

  • Hover Effects: Scale and overlay animations
  • Lazy Loading: Optimized image loading
  • Rating Display: Gold stars with sparkle
  • Genre Tags: Burgundy styled pills
  • Responsive Grid: 2-7 columns based on screen

3D Billboard Logo

  • Inactive State: 9 shadow layers (12px depth)
  • Active State: 16 shadow layers (36px depth)
  • Neon Glow: Red light effect from front
  • Shadow Projection: Realistic billboard shadow
  • Smooth Animation: 0.4s transition

🎯 Performance

Optimization Techniques

  • Pure CSS Animations: GPU accelerated
  • Code Splitting: React lazy loading ready
  • Optimized Images: TMDb CDN delivery
  • Minimal Dependencies: Fast bundle size
  • Efficient Re-renders: React Hooks optimization

Metrics

  • First Paint: < 1.5s
  • Time to Interactive: < 3s
  • Bundle Size: ~500KB (gzipped)
  • Lighthouse Score: 90+

πŸ“š Documentation

Comprehensive guides available in the /docs folder:


🀝 Contributing

Contributions are welcome! Here's how you can help:

  1. Fork the repository
  2. Create a feature branch: git checkout -b feature/amazing-feature
  3. Commit your changes: git commit -m 'Add amazing feature'
  4. Push to the branch: git push origin feature/amazing-feature
  5. Open a Pull Request

Development Guidelines

  • Follow existing code style
  • Test on multiple devices
  • Update documentation
  • Keep bundle size minimal
  • Maintain accessibility standards

πŸ› Bug Reports

Found a bug? Please open an issue with:

  • Description: What happened?
  • Steps to reproduce: How can we see it?
  • Expected behavior: What should happen?
  • Screenshots: Visual evidence helps!
  • Environment: Browser, OS, screen size

πŸ“ License

This project is licensed under the MIT License - see the LICENSE file for details.

What this means

  • βœ… Commercial use
  • βœ… Modification
  • βœ… Distribution
  • βœ… Private use
  • ⚠️ Liability and warranty not provided

πŸ™ Acknowledgments

Design Inspiration

  • Netflix - UI/UX patterns
  • Amazon Prime Video - Navigation structure
  • HBO Max - Premium aesthetics
  • Movie Theaters - Billboard effects

Technologies

Special Thanks

  • The React community
  • TMDb for free API access
  • Open source contributors

πŸ“ž Contact & Links

Portfolio: www.capbraco.com
GitHub: @yourusername
Project Link: CineStream Repository


πŸŽ“ Learning Resources

Built this project to learn React? Here are resources:


πŸ—ΊοΈ Roadmap

Planned Features

  • Search Functionality - Full text search
  • User Authentication - Save favorites
  • Watchlist - Track movies to watch
  • Reviews Section - Read and write reviews
  • Social Sharing - Share favorite movies
  • Theme Toggle - Light/dark mode
  • PWA Support - Offline functionality
  • More Languages - i18n support

Future Enhancements

  • Advanced filtering options
  • Movie recommendations
  • Cast and crew information
  • Similar movies suggestions
  • Streaming availability
  • User ratings integration

πŸ“Š Project Stats

  • Version: 3.0 (Mobile Optimized)
  • React Version: 19.2
  • Bundle Size: ~500KB
  • Components: 7 main components
  • CSS Lines: 1,644
  • Responsive Breakpoints: 4
  • Animations: 3 keyframe animations
  • Documentation Pages: 6

🌟 Star History

If you find this project useful, please consider giving it a ⭐️!

Stargazers over time


Made with ❀️ by CapBraco

CineStream - Elegant Movie Discovery

⬆ Back to Top


Β© 2025 CapBraco. All rights reserved.

About

🎬 Elegant movie discovery platform with React β€’ TMDb API β€’ Burgundy red theme β€’ 3D billboard logo β€’ Diamond shining stars β€’ Mobile optimized β€’ Netflix-inspired UI

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published