ShowLand is a web application where you can comment, like and review your favorite movie or tv show. You can also follow your friends and check out their activity, and lastly but not least you can add movies and shows to your saved for later list.
- Backend: Python, Flask, SQL, PostgreSQL, SQLAlchemy;
- Frontend: JavaScript, HTML, CSS, Bootstrap, Jinja
- API's: Movie Alternative Database, TMDB, Google OAuth 2.0
- Users can start by creating an account or log in with google sign in, which helps to easily manage user authentication. This feature was integrated using Google OAuth 2.0.
- If the user is logged in, they can leave a comment as well as save it to watch later.
- For these features, a POST request is made and the media information is stored in the PostgreSQL database, reducing the number of API calls, which improves the performance of the app.
- For more interaction, a like and a delete button were implemented within the comment.
- For the like, I queried the database using SQLAlchemy to determine if a user had already liked a comment and toggle the button between "Like" and "Unlike" accordingly. Then, when the user clicks the button, an AJAX call is used to update the number of likes without refreshing the page.
- Similarly, for the delete button, the database is checked to see if there are likes related to the comment, and if there are, the like is deleted first, then the comment itself.
- In their profiles, users can see all their activities as well as their friends' activities, if they follow them.
- My long-term goal with this project is to recreate the front end with React by creating components and reusing them, which would help maintain a consistent code style and overall maintainability.