Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/adrijadastidar/movie-backend
Back-end file for movie
https://github.com/adrijadastidar/movie-backend
axois expressjs jwt-authentication mongodb neo4j nodejs razorpay-api
Last synced: 15 days ago
JSON representation
Back-end file for movie
- Host: GitHub
- URL: https://github.com/adrijadastidar/movie-backend
- Owner: AdrijaDastidar
- Created: 2024-09-13T11:44:11.000Z (5 months ago)
- Default Branch: main
- Last Pushed: 2024-12-22T19:50:35.000Z (about 1 month ago)
- Last Synced: 2024-12-22T20:31:24.592Z (about 1 month ago)
- Topics: axois, expressjs, jwt-authentication, mongodb, neo4j, nodejs, razorpay-api
- Language: JavaScript
- Homepage:
- Size: 119 KB
- Stars: 0
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
---
### **🎬 All-in-One Movie Website - Backend**
---
## 📜 Table of Contents
- [Introduction](#introduction)
- [Features](#features)
- [Tech Stack](#tech-stack)
- [Installation](#installation)
- [Usage](#usage)
- [Database Schema](#database-schema)
- [Future Enhancements](#future-enhancements)
- [Contributing](#contributing)
- [Contact](#contact)---
## 📝 Introduction
The **All-in-One Movie Website Backend** is a Node.js and Express.js application designed to power a comprehensive movie platform. It integrates multiple APIs and technologies to offer a rich user experience, including personalized movie recommendations using a graph database (Neo4j) and the TMDB API for movie data. The project also includes secure payment processing with Razorpay, enabling users to book movie tickets seamlessly.---
## ✨ Features
- **User Authentication & Authorization**: Secure login and registration using JWT.
- **Movie Data from TMDB**: Fetches up-to-date movie information using the TMDB API.
- **Personalized Recommendations**: Uses a Knowledge Graph and Neo4j database to deliver personalized movie recommendations.
- **Movie Booking System**: Complete booking flow with seat selection and confirmation.
- **Payment Gateway**: Razorpay integration for secure and seamless payment processing.
- **Admin Panel**: Manage movies, bookings, and user data.
- **Review & Rating System**: Users can review and rate movies.
- **Error Handling & Logging**: Robust error handling and logging for easier debugging.---
## 🛠️ Tech Stack
- **Backend Framework**: [Node.js](https://nodejs.org/), [Express.js](https://expressjs.com/)
- **Database**: [MongoDB](https://www.mongodb.com/) & [Neo4j](https://neo4j.com/) for graph-based recommendations
- **External APIs**: [TMDB API](https://developers.themoviedb.org/3/getting-started/introduction) for fetching movie data
- **Recommendations**: Knowledge Graphs using Neo4j and TMDB 1M dataset
- **Authentication**: [JWT (JSON Web Tokens)](https://jwt.io/)
- **Payment Integration**: [Razorpay](https://razorpay.com/)
- **Machine Learning**: knowledge- graph based for advanced recommendation algorithms---
## 🛠️ Installation
### Prerequisites
- Node.js (>= 14.x)
- MongoDB (Local or Atlas)
- Neo4j (Local or Cloud)
- npm or yarn### Step 1: Clone the Repository
```bash
git clone https://github.com/yourusername/all-in-one-movie-website-backend.git
cd all-in-one-movie-website-backend
```### Step 2: Install Dependencies
```bash
npm install
```### Step 3: Setup Environment Variables
Create a `.env` file in the root directory with the following:
```
PORT=5000
MONGO_URI=mongodb+srv://:@cluster.mongodb.net/movieDB
NEO4J_URI=bolt://localhost:7687
NEO4J_USER=neo4j
NEO4J_PASSWORD=your-neo4j-password
JWT_SECRET=your-jwt-secret
TMDB_API_KEY=your-tmdb-api-key
RAZORPAY_KEY_ID=your-razorpay-key-id
RAZORPAY_KEY_SECRET=your-razorpay-key-secret
```### Step 4: Run the Server
```bash
npm start run
```
The server will start on `http://localhost:1000`.---
## 🚀 Usage
- Ensure MongoDB and Neo4j are running.
- Use [Postman](https://www.postman.com/) or any API client to test the endpoints.
- For recommendations, ensure the Neo4j graph database is properly seeded with the TMDB 1M dataset.---
## 🔮 Future Enhancements
- **Deep Learning-Based Recommendations**: Integrate TensorFlow for advanced neural network recommendations.
- **Social Features**: Allow users to follow each other and share recommendations.
- **Enhanced Payment Security**: Implement 3D Secure authentication for Razorpay payments.
- **Mobile Backend Support**: Build APIs for a mobile version using React Native.---
## 🤝 Contributing
We welcome contributions from the community! If you'd like to contribute, follow these steps:
1. Fork the repository.
2. Create a new branch (`git checkout -b feature/your-feature-name`).
3. Commit your changes (`git commit -m 'Add new feature'`).
4. Push to the branch (`git push origin feature/your-feature-name`).
5. Open a Pull Request.---
## 📧 Contact
For any questions or suggestions, feel free to reach out:
- **Adrija Dastidar** - [email protected]
- **GitHub**: [AdrijaDastidar](https://github.com/AdrijaDastidar)---