Greetings fellow developer! I'm Adam from Malaysia and I'm documenting my process of building full-stack projects for my portfolio. Please provide some feedbacks, it would be really helpful to me!
My first project
I'm building a movie list full-stack project using NextJS. I firat got this idea while browsing MyAnimeList(yes I've quite a free time) and thought their app was really good! I'm thinking of building a web app with at least these unique functionalities:
- User can create custom lists and share them through social media like Instagram and Twitter.
- Each movies and episodes on a series can be commented and replied by anyone
- User can view available streaming services where that movies or show is available on their region
I plan to add those features alongside basic movie list features, like rate a movie, ad to watch list, etc
Planning
I create a gantt chart using notionby using this template. The roadmap last for about 2 months including planning and testing. Here's my finished plan and my progress so far.
Final thoughts
I hope this project come to live one day and benefit even one more person. This journey sure is a long one but I hope with the support of the tech community I can get there and hopefully others like me too! Let's help each other at least on a very small detail of their coding live!
Top comments (1)
Hey there, welcome to our community! We're glad you're here. Please feel free to drop by our welcome thread and say hi. We'd love to get to know you and learn more about your interests and what you're currently working on. Don't be shy, we're a friendly bunch and we're always happy to welcome new members. Looking forward to seeing you around!
As for your plan, I took a look at your backend plans since it's more closely related to my expertise.
You plan to store your users' usernames and passwords in a database. Have you thought about utilizing OAuth or another authorization library? They are simple to use and will provide a standardized method of managing user authentication.
If you decide to create your own database credential storage, you should take extra precautions to protect your users' passwords. In addition to salting, I suggest peppering your passwords by encrypting them with a secret key or string before hashing and putting them in the database. This adds an extra layer of security to your system.
It's also worthwhile to review OWASP's Top 10 list of web application security risks. This list describes the most frequent online application vulnerabilities exploited by attackers, including those related to user authentication. You may make your application as secure as possible by following these best practices. For example the commenting section can be vurnerable to XSS attacks.
On a different note, I saw that you plan to add a way to stream content from big sites. Are you going to send them to the site or will you stream it yourself? You should think about how the big sites might feel if you stream their content without their permission. Also, if there is a streaming API, streaming from their services might require logging in as the user and using their API keys.
In any case, I hope that we'll get to see your work on this project soon.