I created this app as my project and to practice React. I tried to implement as much information as possible, so it became bigger than I initially imagined. Moreover, I wanted to make a light performance, so I used SWR and Promis.all. Moreover, as I wanted to practice more complicated applications, I tried to make as many hooks and contexts.
Usd tech: Context API, React router, React, SCSS, SWR.
I encountered so many problems while I was building this app, as this is my first time making such as big application. It took me about a month to finish this, but I still have some more things to do. I need to do more refactoring and make it organized and some more things to implement. The most I struggled with was making a reusable carousel and in general, making reusable components. What I have done here is not an ideal and clean way, so in the future, when I master more React, I should come back and change it more reusable, like using compressed components and such. Therefore, you will see reputations with this application! ( Some pages share a similar structure, but I had no way of separating it, as I needed to fetch different data when it is mounted by react-router. ) Therefore, it was a great learning chance for me to think about how to make and use react components in an efficient and better way. (especially, when you think about performance, and when it is mounted and rendered again, and how to memo) So I am not happy about my code, but the experience. I will keep learning to make it better!
https://saku-movie.netlify.app/
See instructions of this project # react-router-practice