Git Product home page Git Product logo

eburdekin / letterboxd-clone Goto Github PK

View Code? Open in Web Editor NEW

This project forked from sorracha-a/letterboxd-clone

0.0 0.0 0.0 2.84 MB

"Letterboxd Clone" is a web application built using MongoDB, Express, Node.js, and EJS with API integration through Axios, specifically utilizing TMDb (The Movie Database) API. The project aims to replicate the features of the popular movie review website, Letterboxd.

JavaScript 0.33% CSS 26.24% HTML 6.81% EJS 66.62%

letterboxd-clone's Introduction

Letterboxd-Clone

"Letterboxd Clone" is a web application built using MongoDB, Express, Node.js, and EJS with API integration through Axios, specifically utilizing TMDb (The Movie Database) API. The project aims to replicate the features of the popular movie review website, Letterboxd. Users can create accounts, search for movies, add movies to their personal watchlists, rate and review movies, and interact with other users through a comment system. The application utilizes TMDb's RESTful API to retrieve and display movie data, making it easy to keep the site updated with the latest movie releases. The code is designed to be modular and extensible, making it easy for other developers to contribute and add new features.

Important Note

I want to clarify that this project is solely for educational purposes and I don't intend to launch the website as a live platform. I respect the intellectual property of Letterboxd and its team and if they request for the repository to be taken down, I'll do it promptly.

Getting Started

These instructions will get you a copy of the project up and running on your local machine for the testing purpose.

Prerequisites

Installation:

  1. Clone the project from the Github repository by running the command:
git clone https://github.com/Sorracha-A/Letterboxd-Clone
  1. Navigate to the project's root directory in your terminal.

  2. Install all the necessary dependencies by running:

npm install
  1. Start MongoDB on your local machine.

  2. Create a .env file in the root directory of the project with the following environment variables.

PORT=your-port-number
MONGODB_URI=mongodb://localhost:<port>/<db-name>
TMDB_API_KEY=your-api-key
SECRET=your-session-secret

You can get an API key by creating an account at https://www.themoviedb.org/documentation/api.

Running the Project:

  1. After installation, to start the application, run:
npm start
  1. Open your web browser and navigate to http://localhost:<port> (port that you specified in the .env) to access the application.

Feature

  • User authentication: sign up, login. ✅
  • Browse movies: view popular, now playing, upcoming, and top rated movies. ✅
  • Search for movies: search by title. ✅
  • Movie details: view movie information, cast, directors, reviews, and etc. ✅
  • Review movies: rate movies and write reviews. (TBU) 🛠️
  • Lists: create and manage movie lists. ✅
  • User profile: view user's activity, statistics, and lists. (TBU) 🛠️
  • Admin panel: manage movies, users, and reviews. (TBU) 🛠️

APIs Used

TMDb API - The Movie Database API for retrieving movie data

Built With

  • MongoDB - A NoSQL document-oriented database
  • Express - A web application framework for Node.js
  • Node.js - A JavaScript runtime built on Chrome's V8 JavaScript engine
  • EJS - A templating language for generating HTML markup with JavaScript
  • Axios - A promise-based HTTP client for making API requests

Author

Sorracha Aiemmeesri

Preview

Homepage (Using TMDb API to display popular, upcoming, and now playing movies)

screencapture-127-0-0-1-3500-2023-02-14-21_21_26-min

Search Page (Using TMDb API to display the search result)

screencapture-127-0-0-1-3500-search-2023-02-14-21_24_27

Movie Info Page (Using TMDb API to display all the data of the movie)

screencapture-127-0-0-1-3500-film-everything-everywhere-all-at-once-2022-2023-02-14-21_40_37

Registration Page (Using MongoDB to store the user's data)

screencapture-127-0-0-1-3500-create-account-2023-02-14-21_32_51

Login Page (Check the user data if it does exist in the database)

screencapture-127-0-0-1-3500-sign-in-2023-02-14-21_35_24

Add a movie list

Screen.Recording.2566-03-11.at.13.38.57.mov

letterboxd-clone's People

Contributors

sorracha-a avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.