Skip to content

hegedus-mark/imdb-clone-site

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Dentist Movie Site

A full-stack web application that allows users to discover, track, and interact with movies. Built with React and Express.js, leveraging the TMDB API for movie data.

Demo pic

Features

  • User authentication (login/register)
  • Browse popular and now playing movies
  • Search functionality for finding specific movies
  • Personal watchlist management
  • Movie rating system
  • Watch movie trailers directly on the site

Tech Stack

Frontend

  • React
  • React Router
  • Sass scss

Backend

  • Node.js
  • Express.js
  • MongoDB
  • JWT Authentication

Installation

Local Development Setup

Prerequisites

  • Node.js (v16 or higher)
  • MongoDB
  • TMDB API Key

Backend Setup

  1. Clone the repository
git clone https://github.com/yourusername/your-repo-name.git
cd your-repo-name
  1. Install backend dependencies
cd backend
npm install
  1. Create a .env file in the backend directory with the following variables:
MONGODB_USERNAME=your_mongodb_username
MONGODB_PASSWORD=your_mongodb_password
MONGODB_CLUSTER=your_cluster_name
MONGODB_DATABASE=your_database_name
JWT_SECRET_KEY=your_jwt_secret_key
JWT_REFRESH_KEY=your_jwt_refresh_key
TMDB_ACCESS_TOKEN=your_tmdb_access_token
PORT=3000
NODE_ENV=development
  1. Start the backend server
npm run dev

Frontend Setup

  1. Navigate to the frontend directory
cd frontend
  1. Install frontend dependencies
npm install
  1. Start the frontend development server
npm run dev

Docker Installation

  1. Make sure the Docker Engine is installed on your system

  2. Create the .env file as described in the backend setup section

  3. Build and run the containers

docker-compose up --build

The application will be available at:

Testing

The backend includes comprehensive test coverage using Mocha and Chai.

To run the tests:

cd backend
npm test

Contributing

  1. Fork the repository
  2. Create a new branch for your feature
  3. Commit your changes
  4. Push to the branch
  5. Create a new Pull Request

Acknowledgments

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • JavaScript 86.0%
  • SCSS 13.0%
  • Other 1.0%