#Features Frontend (React.js) 1.Home Page 2.YouTube-style header with a search bar and filter buttons 3.Static sidebar that can be toggled via the hamburger menu 4.Grid view of video thumbnails 5.Each video card includes: a.Thumbnail b.Title c.Channel Name d.Views count 6.User Authentication 7.Register and login using username and password 8.JWT-based authentication 9.Displays userpicture after login 10.Filter effects by category 11.Video Player Page 12.Play selected video 13.Show title, description, channel name 14.Like & Dislike buttons 15.Comment section (Add, Delete comments) 16.Channel Page 17.Create a channel (only for signed-in users) 18.Display videos uploaded by the channel 19.Responsive Design 20.Fully responsive across desktop, tablet, and mobile devices
#Backend (Node.js + Express)
1.User Authentication 2.Signup, Login, and Token-based authentication 3.Channel Management 4.Create a channel 5.Fetch channel information 6.Video Management 7.Fetch, Upload, Update, Delete videos
#Comments
1.Add and fetch comments 2.Edit/Delete comments
#Database (MongoDB)
1.Users Collection 2.Channels Collection 3.Videos Collection 4.Comments Collection 5.Stores video URLs, thumbnail URLs, and other metadata
#Technologies Used Frontend
1.React.js 2.React Router 3.Axios 4.Tailwind CSS 5.React Icons
#Backend
1.Node.js 2.Express.js 3.MongoDB Atlas 4.Mongoose 5.JSON Web Token (JWT) 6.bcrypt.js (for password hashing) Installation & Setup
1️⃣ Clone the repository git clone https://github.com/MerlinMat/YouTube_Clone.git
2️⃣ Install dependencies npm install npm i bcryptjs npm i jsonwebtoken npm i cookie-parser npm i axios npm i cors
#Run the Application Backend npm start
#Run the application Frontend cd vite-project npm run dev