A modern video streaming platform built with Next.js 15, React, and TypeScript. This application allows users to browse, search, and watch videos from YouTube and Vimeo, with features like favorites, autoplay, theme toggle and responsive design.
Access the app website in this link: https://vexplatform.netlify.app/
- Features
- Technologies
- Requirements
- Installation
- Running the Project
- Usage Guide
- Contributing
- License
- Video Integration: Embed and play videos from YouTube and Vimeo
- Video Browsing: Browse through a collection of videos with thumbnail previews
- Search Functionality: Search videos by title, description, or channel
- Favorites System: Add videos to favorites and access them in a dedicated tab
- Autoplay: Automatically play the video when clicked
- Responsive Design: Fully responsive UI that works on mobile, tablet, and desktop
- Interactive UI: Hover effects, animations, and visual feedback for user interactions
- Pagination: Navigate through video listings with a clean pagination interface
- Next.js 15: React framework with App Router for routing and server components
- React 18: UI library for building component-based interfaces
- TypeScript: Static type checking for improved developer experience
- TanStack Query (React Query): Data fetching, caching, and state management
- Vitest and react-testing-library: Libraries to coverage and secure the project with unit tests
- Tailwind CSS: Utility-first CSS framework
- shadcn/ui: High-quality UI components built with Radix UI and Tailwind
- Lucide React: Beautifully crafted open-source icons
- iframe Player: For embedding and controlling YouTube, Vimeo or other videos.
- React Hooks: For local component state
- TanStack Query: For server state management
- localStorage: For persisting user preferences (favorites)
- Node.js 18.17.0 or later
- npm or yarn package manager
- Modern web browser (Chrome, Firefox, Safari, Edge)
- Clone the repository
git clone https://github.com/cleysond10/video-platform.git
cd video-platform- Install dependencies
npm install
# or
yarn install- Development Mode
npm run dev
# or
yarn devOpen http://localhost:3000 in your browser to see the application.
- In Watch Mode
Run the following command.
npm run test
# or
yarn testOpen your terminal to see your tests status and progress.
- The home page displays a grid of available videos
- Click on any video card to open the video player
- Use the pagination controls at the bottom to navigate through more videos
- Use the search bar at the top to find videos by title, description, or channel
- Search works in both the "All Videos" and "Favorites" tabs
- Click the heart icon on any video card to add it to your favorites
- Access your favorite videos by clicking the "Favorites" tab
- Click the heart icon again to remove a video from favorites
- Videos automatically play when opened
- The application works on mobile, tablet, and desktop devices
- The layout adapts to different screen sizes for optimal viewing experience
Contributions are welcome! Please feel free to submit a Pull Request.
- Fork the repository
- Create your feature branch (
git checkout -b feature/amazing-feature) - Commit your changes (
git commit -m 'Add some amazing feature') - Push to the branch (
git push origin feature/amazing-feature) - Open a Pull Request
This project is licensed under the MIT License.