Skip to content

A live web app allowing users to search for nearly every movie that was ever made and add them to personalized watchlists for tracking and notetaking.

Notifications You must be signed in to change notification settings

kevinpista/my-flick-list

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation


Logo

My Flick List

> VIEW LIVE DEMO <

'My Flick List' is a web application created as a personal project. It allows a registered user to organize movies within personalized watchlists, track what they've watched, and add personal notes for each movie. The web app allows a user to search for any movie thanks to the data provided by 'TMDb API'. Every movie will contain information such as the title, overview, release date, trailer video, along with other metrics such as its budget and revenue generated in the box office. A user can create a custom watchlist and add any movie to it. Within each watchlist, the user can check off whenever they finish watching a movie and also write their notes for each film. These functions allow a cinema enthusiast to gather all their movies and thoughts in one place in order to make their watching experience more organized and enjoyable.

This project implements a Go backend and a React.js frontend with the Model-View-Controller (MVC) architecture pattern. Additionally, it utilizes a Heroku PostgreSQL database and is fully hosted on Heroku.

NOTE: This project has NOT been optimized for mobile screens. For the best experience, view it on a desktop or laptop.

> VIEW LIVE DEMO <

About The Project

My Flick List Screen Shot 1

Built With

My Flick List Screen Shot 2

Model-View-Controller Implementation

This application implements the Model-View-Controller (MVC) architectural pattern across its entire stack using a Go backend and a React.js frontend.

  • Controller: The Go backend serves as the Model and Controller layer. I used a routing framework called Chi router to direct incoming API requests to the appropriate controllers. Each controller focuses on a specific RESTful API endpoint or set of related endpoints. The controllers then validate the request and data and makes the respective service function calls. Afterwards, the controllers will return a response for the frontend to update its View for the user accordingly.
  • Model: The backend utilizes structs (models) to represent data entities. These Models are used by the Controller to decode incoming JSON data. The Models then serve as a layer of abstraction, providing a clean interface for the service functions to handle the core business logic & interactions with the PostgreSQL database.
  • View: The React.js frontend serves as the View layer, presenting the user interface and facilitating user interactions in sending CRUD requests to the Go backend. It receives and displays the appropriate data and success or error messages based on the backend's response.

By leveraging the MVC pattern, this project aims to promote separation of concerns, modularity, and maintainability throughout the entire application.

> VIEW LIVE DEMO <

(back to top)

My Flick List Screen Shot 3

About

A live web app allowing users to search for nearly every movie that was ever made and add them to personalized watchlists for tracking and notetaking.

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published