Papsukkal is a CRUD API for managing a collection of movies. It provides endpoints to create, read, update, and delete movie records stored in a MongoDB database.
- Create new movie records
- Read existing movie records
- Find all movies
- Find movies by ID
- Search movies by person (director, screenwriter, producer, actor, cinematographer, editor, composer)
- Search movies by title
- Update existing movie records
- Delete movie records by ID
- Java with Spring Boot
- MongoDB for database
- Jakarta Validation for data validation
- Lombok for boilerplate code reduction
- Spring Data MongoDB for MongoDB integration
- Cross-Origin Resource Sharing (CORS) enabled for frontend integration
- Java 11 or higher
- MongoDB
- Maven
- Node.js and npm (for Angular front-end)
- Clone the repository:
git clone https://github.com/ryunezm/papsukkal.git cd papsukkal
- Install dependencies and build the project:
mvn clean install
- Configure MongoDB connection in
application.properties
:spring.data.mongodb.database=yourDatabaseName spring.data.mongodb.uri=mongodb://localhost:27017/yourDatabaseName
- Run the application:
mvn spring-boot:run
- Navigate to the
movie-app
directory:cd movie-app
- Install dependencies:
npm install
- Run the Angular application:
ng serve
The Angular application will be available at http://localhost:4200
.
- Fetch all movies.
GET /movies
- Fetch a movie by its ID.
GET /movies/{id}
- Search for movies by any associated person (e.g., director, actor).
GET /movies/searchByPerson/{keyword}
- Search for movies by title.
GET /movies/searchByTitle/{title}
- Create a new movie.
POST /movies
- Update an existing movie by its ID.
PUT /movies/{id}
- Delete a movie by its ID.
DELETE /movies/{id}
This README.md
just provides an overview of the project, installation instructions and API endpoints.