Hi everyone! I am a front end developer (React, React Native) 1.5 years. Have some experience with a back end, but it's not my strong side and that's why I need help.
Developers, who have experience in creating huge websites, can you give me a little guideline on how to create a website with lots of videos?
My first goal is to run MVP Anime resource where I just can upload different animes and everyone who visits the page can view them (no need for registration). I am planning to use Express.js (cause I know it) and want to know about any pitfalls on this first step.
For the media itself, the key is your CDN.
Dealing with the organization and retrieval of all your pages, resources, etc is the bigger concern. I'd say the #1 pitfall for people coming from a similar background is to have never put much time into learning about databases!
What exactly I have to know about databases? There is a lot of info on the Internet, so maybe you can recommend me something specific to learn?
I have no idea what you know already, so I apologize if this is way off!
If you're not yet comfortable with SQL, then I'd check out Kahn Academy. If you've learned a bit more but maybe haven't covered the fundamentals very systematically, then this course might be better.
If everything in that course looks familiar, then you'll probably steer clear of the worst of the pitfalls. If you're more of a book person, then I'd grab this book or any thing from O'reilly.
Thanks a ton! I have some experience with MySQL but in this project I will use MongoDB.
In that case, there are a lot more potential pitfalls. I'd spend some time thinking about all the associations you're going to want between different things (e.g. categories of animes, series, artists, etc) before starting and set up the references you need so you don't end up with slow queries or duplicated data.
The other thing you'll probably want is some controls on the application side or an ORM like Mongoose so you can keep the shape of your data consistent as you make changes to your app.
That's what I thought about! Thanks :)
Might not be exactly what you're looking for, but have you thought about just using YouTube or VImeo with embedded videos on your site? Self-hosted video can get expensive pretty quickly, depending on the length and quality of the video, so the embedded option might work better as far as an MVP goes. The main benefits you get out of it are:
If that doesn't work for you, there are services out there that provide an easier way to upload, like https://cloudinary.com/, however the downside can be that it gets expensive fairly quickly as well.
Hope that helps a bit.
Hmm... I cannot use Youtube, cause these videos will be removed. I am going to upload mp4 files to the website. So Cloudinary is the best option for storing video files?
Cloudinary is one of the best as far as how easy it is to work with, but it would get expensive pretty quickly depending on your volume demands. In terms of lowest cost, S3 with CloudFront is probably going to be your best bet, but it takes a bit more on the implementation end.
I think I'll go with DigitalOcean, cause only one anime takes 6 - 7 GB of the space. Imagine how expensive it can be to store thousands of animes.
Update: I have checked DigitalOcean Spaces, and it provides me only 250 GB of space. Maybe I don't understand something, cause I have never used it but 250 GB is not enough in my case.
Thank You for the information! Appreciate your help.
Hey Lantaress,
I think it all depends on your approach.
If you want to validate your MVP, then go with some ready solution - like Cloudinary.
If you want to invest more time and get cost efficient solution, go with DigitalOcean or AWS.
Remember when rolling out your own solution:
Our stack for video upload:
I think I'll go with DigitalOcean, cause only one anime takes 6 - 7 GB of the space. Imagine how expensive it can be to store thousands of animes.
Update: I have checked DigitalOcean Spaces, and it provides me only 250 GB of space. Maybe I don't understand something, cause I have never used it but 250 GB is not enough in my case.
The initial size of Space is 250GB. It can be expanded and you pay for each additional GB 😉
How much traffic do you expect? What bandwidth needs do you have? Does your site bring in revenue to pay for that traffic?
I think the cheapest solution would be to just have several servers with high bandwidth and directly upload the videos to them. Using a CDN for videos, such as Cloudinary, will get pretty expensive if you have lots of traffic.
Yes. I checked Cloudinary prices and that is really expensive for me (live in Ukraine). My main audience is from Russia, Ukraine and Belarus.
This comment was deleted 7 years ago