An open API service indexing awesome lists of open source software.

https://github.com/lakshay1341/movie-review-system-api

The Movie Review System API is a RESTful web service that allows users to manage movies and reviews. Built using Spring Boot, JPA, and MySQL, this API enables users to perform CRUD operations on movies and their corresponding reviews.
https://github.com/lakshay1341/movie-review-system-api

api-documentation java-17 lombok maven movie-review-app mysql rest-api spring-boot spring-boot-project spring-data-jpa spring-validation spring-web springfox-swagger swagger

Last synced: 2 months ago
JSON representation

The Movie Review System API is a RESTful web service that allows users to manage movies and reviews. Built using Spring Boot, JPA, and MySQL, this API enables users to perform CRUD operations on movies and their corresponding reviews.

Awesome Lists containing this project

README

        

# Movie Review System API

## 📌 Project Overview
The **Movie Review System API** is a RESTful web service that allows users to manage movies and reviews. Built using **Spring Boot, JPA, and MySQL**, this API enables users to perform CRUD operations on movies and their corresponding reviews.

## 🚀 Tech Stack
- **Java 17**
- **Spring Boot 3.4.2**
- **Spring Data JPA**
- **MySQL**
- **Swagger OpenAPI**
- **Lombok**

## 📂 Project Structure
```
MovieReviewSystemAPI
│── src/main/java/in/lakshay
│ ├── controller/ # Controllers handling API requests
│ ├── entity/ # JPA Entities
│ ├── repository/ # Data access layer
│ ├── service/ # Business logic layer
│ ├── config/ # Configuration files (Swagger, Database, etc.)
│── src/main/resources
│ ├── application.properties # Application configuration
│── pom.xml # Maven dependencies
│── README.md # Project documentation
```

## 📜 API Documentation (Swagger UI)
After running the application, you can access the **Swagger UI** at:
```
http://localhost:8080/swagger-ui/index.html
```

## 🔧 Setup & Installation
### 1️⃣ Clone the Repository
```bash
git clone https://github.com/lakshay1341/MovieReviewSystemAPI.git
cd MovieReviewSystemAPI
```

### 2️⃣ Configure Database
Update **`src/main/resources/application.properties`** with your MySQL database credentials:
```properties
spring.datasource.url=jdbc:mysql://localhost:3306/moviereviewdb
spring.datasource.username=root
spring.datasource.password=root
spring.jpa.hibernate.ddl-auto=update
spring.jpa.show-sql=true
```

### 3️⃣ Build and Run the Application
Use Maven to clean, build, and start the application:
```bash
mvn clean install
mvn spring-boot:run
```

## 🔥 API Endpoints
### 🎬 Movie Endpoints
| Method | Endpoint | Description |
|--------|---------|-------------|
| GET | `/movies` | Fetch all movies |
| POST | `/movies` | Add a new movie |

### ⭐ Review Endpoints
| Method | Endpoint | Description |
|--------|---------|-------------|
| POST | `/reviews/movies/{movieId}` | Add a new review |
| PUT | `/reviews/{reviewId}` | Update an existing review |

## 🤝 Contributing
If you want to contribute to this project, follow these steps:
1. Fork the repository.
2. Create a new branch (`git checkout -b feature-branch`).
3. Commit your changes (`git commit -m 'Add new feature'`).
4. Push to your branch (`git push origin feature-branch`).
5. Open a Pull Request.

## 🛠️ Future Enhancements
- Add **user authentication** with Spring Security.
- Implement **pagination** for large datasets.
- Introduce **rating system** with an aggregate score.

## 📞 Contact
**Lakshay Chaudhary**
📧 Email: [[email protected]](mailto:[email protected])
🔗 GitHub: [lakshay1341](https://github.com/lakshay1341)

---
💡 *Star this repository if you found it helpful!* ⭐