Well, I recently quit my job so I got free time and this hackathon between Hashnode and Appwrite is announced. This is clearly a sign. So I decided to build MoviePlay. Before we get into the trials and tribulations of this project, let's get all the technical stuff out of the way.
Have you ever had a debate with someone as to what is the correct order to watch Star Wars? There's the chronological order, the release order, the machete order
ReactJS & Typescript (ViteJS)
TailwindCSS & DaisyUI
The-Movie-Wrapper (I made this one, but still...)
Look at the code
On the using of Appwrite
I had already used a self-hosted version of Appwrite and have been tinkering with the closed cloud beta for a bit, so I was already familiar with the tool and will not really talk about onboarding.
I was a bit disappointed relationships (as of 06/04/2023) are not yet supported on Cloud, so you still need to do all the foreign key constraints by hand, which makes fetching client-side a bit of a hassle.
I really like how accounts are handled, especially oauth2 stuff; the fact that you can connect multiple providers for the same account seamlessly is pretty cool
I needed to use functions to store the number of views a playlist could get. I would have loved a trigger on database read operations, but I can see it would probably be too much performance overhead; the way I solved this is when navigating to a page, the page loader function triggers the function to increment the views number.
Did you find this article valuable?
Support Matteo Gassend by becoming a sponsor. Any amount is appreciated!