The goal of this project is to build a functional web application using React.js to demonstrate proficiency in fundamental web development concepts, Typescript, and creating a user-friendly UI/UX. The application is a simplified Video Player that allows users to view a list of predefined video thumbnails, click on a thumbnail to play the video, and see basic information about the video such as title and description.
- View a list of predefined video thumbnails.
- Click on a thumbnail to play the video.
- See basic information about the video such as title and description.
- Pagination for fetching videos using API.
- State management to handle video list and currently selected/playing video.
- Ability to maintain like, dislike count, and comments.
- Responsive design for various screen sizes and devices.
- Responsive Skeleton loading for every page.
- React JS
- Typescript
- Tailwind CSS
- Redux (for state management)
- HTML5 Video Player for video playback
- Modular / Atomic components for code organization
- @reduxjs/toolkit - ^2.2.1
- react - ^18.2.0
- react-dom - ^18.2.0
- react-icons - ^5.0.1
- react-redux - ^9.1.0
- react-router-dom - ^6.22.2
- react-toastify - ^10.0.4
- redux - ^5.0.1
- redux-thunk - ^3.1.0
- @types/react - ^18.2.56
- @types/react-dom - ^18.2.19
- @typescript-eslint/eslint-plugin - ^7.0.2
- @typescript-eslint/parser - ^7.0.2
- @vitejs/plugin-react - ^4.2.1
- autoprefixer - ^10.4.18
- eslint - ^8.56.0
- eslint-plugin-react-hooks - ^4.6.0
- eslint-plugin-react-refresh - ^0.4.5
- postcss - ^8.4.35
- tailwindcss - ^3.4.1
- typescript - ^5.2.2
- vite - ^5.1.4
- Clone the repository.
- Install dependencies using
npm install
. - Start the development server using
npm run dev
. - Open the application in your web browser.