I collaborated with my dear colleagues Talha Sen, Hakan Sivuk, Yusuf Nevzat Sengun to accomplish this project. As a team, we were one of the few groups among 15 to implement all the required functionalities and one bonus functionality. We used the React library for our frontend, Node.js for our backend and MySQL for our database.
Stack Media is an implementation of a media services data management system (MSDMS, such as Netflix) for applying the theory learned in the course and observing real database design practises. Essentially, the project simulates a Netflix like platform where users can interact with media. There are two types of users: a normal user who could interact with the media and an admin user who can create or manipulate media.
A normal user, after signing up or logging in, can watch media and rate them. They can create channels to save their media. They could search for any media they want to watch and sort them according to their preference of date interval, genre, name or the time they are created. They can add other users as friends. Users can state their genre to get a variety of media suggestions on their channels or while watching media. They can leave feedback on any media they watch. Users can also create parties. They can invite their friends to the party. This way, users can watch the media together with their friends.
An admin user can create and upload a new movie or a new tv show/episode as new media. They can also edit existing media created by them or delete them. Admin users, as if a normal user, can search their media created by them and sort them accordingly.
I would suggest you to dive into our Design Report to observe how we have designed our DBMS. You could find the User's Manuel inside Final Report.
I worked as a full-stack developer. I created REST APIs to post/delete/get/update data on the server side. I learned React and implemented React Hooks to display data on the UI. I connected every functionality in the application by fetching the data from the server and updating the regarding React Hook. I tested the application using white-box and reported/fixed many bugs across the backend and the frontend.
npm run setupIt should install all the dependencies.
npm startServer would be automatically launched and the website will be ready to go!