This project is a clone of Letterboxd, featuring an Express.js backend and a React.js frontend. It utilizes The Movie Database (TMDB) API for movie data.
- User authentication and profile management
- Browse and search movies
- Rate and review movies
- Create and manage movie lists
/server
: Express.js backend/client
: React+Vite frontend
- Backend: Express.js, Node.js, MongoDB
- Frontend: React, Vite
- API: The Movie Database (TMDB)
- Authentication: JSON Web Tokens (JWT)
- Node.js (v14 or later)
- npm or yarn
- MongoDB instance
- TMDB API key
- Clone the repository:
git clone https://github.com/wolfofdalalst/letterboxd-clone.git
cd letterboxd-clone
- Install backend dependencies:
cd server
npm install
- Install frontend dependencies:
cd ../client
npm install
- Set up environment variables:
- Copy
.env-example
to.env
- Fill in the required variables in
.env
file, including your TMDB API key
- Start the backend server:
cd server
npm run dev
- In a new terminal, start the frontend development server:
cd server
npm run dev
- Open your browser and navigate to
http://localhost:5173
(or the port specified by Vite)
This project uses The Movie Database (TMDB) API to fetch movie data. You'll need to sign up for a TMDB account and obtain an API key to use in the application. Add your API key to the .env
file in the project directory.
We welcome contributions to improve the Letterboxd Clone! Please follow these steps:
- Fork the repository
- Create a new branch:
git checkout -b feature/your-feature-name
- Make your changes and commit them:
git commit -m 'Add some feature'
- Push to the branch:
git push origin feature/your-feature-name
- Submit a pull request
Please ensure your code follows the project's coding standards and includes appropriate tests.
This project uses environment variables for configuration. Please refer to the .env.example
files in project directory.
Important: Never commit your actual .env
files to the repository. They should be listed in .gitignore
.
Instructions for deploying to a production environment will be added soon.
This project is licensed under the MIT License. See the LICENSE file for details.
- Letterboxd for the inspiration
- The Movie Database (TMDB) for providing the movie data API
For any questions or feedback, please open an issue on this repository or contact the maintainer at [email protected].