A Youtube-like app using React, Redux, Express Server, JWT authentication, Firebase for Google authentication and video upload, MongoDB for database, and Styled-Components/Material UI for styling.
This application includes the major features of Youtube such as
- sign up, sign in, sign out a channel
- home feed with infinite scroll
- trending videos
- random videos
- subscribed channels' videos
- recommended videos
- search for videos
- upload video
- watch videos
- video details
- add, display, edit, delete comments
- like and dislike a video
- subscribe and unsubscribe to a channel
- React / create-react-app
- React Router
- NodeJS
- Express
- Material UI
- Styled Components
- React-Redux
- Redux-Tooklkit
- Redux-Persist
- bcrypt
- Mongoose
- Firebase
- Axios
- MongoDB
- fetch and display users, videos, comments
- sign in with username or Google authentication
- authorize users with JWT tokens
- routing and make changes to MongoDB database
- persist info with redux
- upload video to Firebase
- like and dislike functionality
- search functionality
- subscribe and unsubscribe to a channel
- add, edit, delete comments
- user profile
- add, edit, and delete user
- admin functionality
- improvement on styling
- comment replies
- increment video views
This project is solely intended for practicing purposes.
It is not intended to create any kind of Youtube competitor, but to advance my skills in full-stack development.