This is a full-stack movie information and review application built with Spring Boot, MongoDB, and React.
It allows users to browse movie posters, watch trailers, and read or submit reviews. The backend provides RESTful APIs, while the frontend offers an interactive, responsive user interface.
This project was originally inspired by the following YouTube course:
Full Stack Development with Java Spring Boot, React, and MongoDB – Full Course
I followed the course to build the core structure, and made some adjustments including:
- Adjusted frontend styles using MUI
- Structured code for my own understanding
- Wrote this README for clarity
- View movies with poster, trailer, and details
- Submit and view movie reviews
- RESTful API endpoints using Spring Boot
- MongoDB Atlas NoSQL document database
- Frontend routing using React Router
- Component-based structure with Axios calls
- Carousel display using MUI + React Material Carousel
- Environment variable support for safe configuration
- Public API access enabled via ngrok tunnel
- Java 17
- Spring Boot
- Spring Web
- Spring Data MongoDB
- Lombok
- Maven
- MongoDB Atlas
- Spring Boot DevTools
- React (CRA)
- Axios
- React Router DOM
- Bootstrap + React-Bootstrap
- @mui/material (MUI)
- react-player
- react-material-ui-carousel
- Font Awesome
cd backend
./mvnw spring-boot:runMake sure to configure application.properties or use a .env file with:
MONGO_DATABASE=your-db
MONGO_USER=your-user
MONGO_PASSWORD=your-password
MONGO_CLUSTER=your-cluster-urlcd frontend
npm install
npm startYou must set the backend base URL via .env:
REACT_APP_API_URL=https://your-ngrok-url.ngrok.io

