Video streaming web app in Node JS and Mongo DB, MySQL
This project is available in 2 versions:
- Node JS and Mongo DB
- Node JS and MySQL
We created a video streaming web app in Node JS and Mongo DB and also in MySQL.
Features
Authentication
User can create an account using his first name, last name, email and password. Passwords can encrypted so even if your database gets hacked, user’s passwords will not be revealed.
Upload Video
User can upload videos. To upload, he needs to provide a thumbnail of the video as well. Thumbnail will be displayed on home screen, history and search pages. Video will only be played from video detail page. User also needs to enter video title, description, tags, categories and playlist (if any). After video is uploaded, he will be redirected to video edit page where he can edit all these details any time he wants.
I am using a Node JS package called “get-video-duration” to automatically get the duration of video and save it in database. This helps in displaying the duration of video so user will know how long the video is.
My Videos
User can see all his uploaded videos and from there he can edit or delete videos as well.
My Channel
A page from where user can set his profile image, his cover image, can see all his uploaded videos and also he can manage playlists from this page. User can add a playlist and it will be displayed on a list. From the list, he can delete any playlist if he no longer needs. If there is any video in that playlist, then user will see the thumbnail of that video. User will also see the number of videos he has in each playlist.
Home Page
On home page, you will see all uploaded videos by all users in descending order. So you will always see the latest videos on top. Each video in list will have title, duration, categories, the number of views it got and the date when it was uploaded.
Video Detail Page
On video detail page, you can the complete detail of that video. Based on cookies, video view is incremented by 1 when you visit that page. On this page, you will see the complete description of that video and also the user name and profile image who uploaded that video. You can subscribe to that channel if you want, and if you have already subscribed then you can remove that channel from your subscription as well. But you cannot subscribe your own channel.
You can like or dislike a video and you will see the counter incremented or decremented by 1. You can post a comment on a video. When you post a comment, a notification will be sent to the video creator so he knows that a new comment has been posted. Other users can reply to your comment and you will get a notification when someone replied to your comment.
On right side of this page, you will see a section at the top where you can place your Google Adsense code if you want. It will help you monetize your website. Below that, you will see a list of all videos under that playlist.
Search
If you click on any category or tag on video detail page, you will be redirected to a new page where all videos in that category or tag will be displayed. This will help you find the videos of your interest. It’s layout is similar to the one you see on home page.
Watch History
Another page that you can access from left sidebar is “History”. Here you can see a list of all videos that you have played. It will also show you the duration of each video you have viewed. So, for example, if a video is 10 minutes long and you watched 3 minutes 45 seconds of it, then you will see a progress bar that tells you that you your watched duration on this video is 3:45.
This will help you find the video in case you saw a video and now you want to see it again. You can delete the videos from watch history as well.
My Subscriptions
When you subscribe a channel, you will see the number gets incremented. But there should be a page where you can see all the channels you have subscribed and also an option to delete any channel from your subscription. You can see that page from left sidebar on each page.
Settings
User can update his first and last name, and he can also change his password as well if he wants.
Screenshots:














Source code:

Price: USD 20 👨🏻💻
How to buy:
To receive payment details, please send your name, email, and project name via WhatsApp or email. Upon confirmation of payment, we will promptly deliver 🚀 the source code to you.
- 💬 WhatsApp: +923105461304
- 📧 Email: support@adnan-tech.com
Our TrustPilot reviews

Check out our single-page chat application developed in Vue JS, Node JS, and Mongo DB.
Hello
Do you provide customization to this project sir?
Yes, let me know the customization you want to have ?
Hi !
While playing the video (on a free version) there is no actual video is available. Only the sound is playing and the thumbnail on it. What might be the problem?
Make sure the video you are uploading does have a sound. There is no such restriction in the code.
Can you sell the pro version of the project “VIDEO STREAMING WEB APP IN NODE JS AND MONGO DB” to me?
Sure. Kindly check your email.