Skip to content

πŸŽ₯ MyTube – A sleek, YouTube-inspired React app for browsing, searching, and managing videos with a responsive, modern UI.

Notifications You must be signed in to change notification settings

akramcodez/MyTube_Home

Folders and files

NameName
Last commit message
Last commit date

Latest commit

Β 

History

14 Commits
Β 
Β 
Β 
Β 

Repository files navigation

πŸŽ₯ MyTube

Vercel

MyTube is a modern YouTube-inspired web application built with React, TypeScript, and Tailwind CSS. It provides a seamless user experience for browsing videos, managing subscriptions, and exploring categories.

πŸš€ Live Demo: MyTube on Vercel


✨ Features

  • βœ… Responsive Design – Optimized for all screen sizes
  • 🧭 Dynamic Sidebar – Expandable sections for categories, playlists, and subscriptions
  • 🎞 Video Grid – Thumbnails, GIF previews, and metadata
  • πŸ” Search Functionality – Text or voice input powered by the Web Speech API
  • πŸ”” Subscriptions Management – View and navigate to subscribed channels
  • 🎡 Playlists – Access and manage your favorite playlists
  • πŸ”₯ Explore Section – Discover trending, music, sports, and more
  • πŸŒ™ Dark Mode Ready – Easily switchable or extendable to dark mode

πŸ› οΈ Tech Stack

  • Frontend: React, TypeScript, Tailwind CSS
  • State Management: React Context API
  • Utilities: clsx, tailwind-merge
  • APIs: Web Speech API (for voice search)
  • Hosting: Vercel

πŸ“ Project Structure

β”œβ”€β”€ src/
β”‚   β”œβ”€β”€ components/
β”‚   β”‚   β”œβ”€β”€ Sidebar.tsx        # Dynamic sidebar UI
β”‚   β”‚   β”œβ”€β”€ PageHeader.tsx     # Header with text + voice search
β”‚   β”œβ”€β”€ context/
β”‚   β”‚   └── SidebarContext.tsx # Sidebar state management
β”‚   β”œβ”€β”€ data/
β”‚   β”‚   β”œβ”€β”€ home.ts            # Static video & category data
β”‚   β”‚   └── sideBar.ts         # Sidebar data (subscriptions, playlists)
β”‚   β”œβ”€β”€ hooks/
β”‚   β”‚   └── useScreenSize.ts   # Custom hook for screen size detection
β”‚   β”œβ”€β”€ utils/
β”‚   β”‚   └── format.ts          # Helper functions (duration, views, time)

πŸ’» Local Development

Prerequisites

  • Node.js (v16 or higher)
  • npm or yarn

Installation

  1. Clone the repository:
git clone https://github.com/your-username/mytube.git
cd mytube
  1. Install dependencies::
    Copy
    Edit
    npm install
    # or
    yarn install
  1. Start the development server:
    Copy
    Edit
    npm run dev
    # or
    yarn dev
  1. Open your browser and visit: http://localhost:5173

πŸ§ͺ Testing

This project currently does not include automated tests.
You can add tests using Jest or React Testing Library.


πŸ“œ License

This project is licensed under the MIT License.


πŸ™Œ Acknowledgments

  • Inspired by YouTube's UI/UX
  • Built with ❀️ using React, TypeScript, and Tailwind CSS
  • Contributions are welcome!
    Feel free to open issues or submit pull requests 😊

About

πŸŽ₯ MyTube – A sleek, YouTube-inspired React app for browsing, searching, and managing videos with a responsive, modern UI.

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published