{"id":21942313,"url":"https://github.com/jefrey13/movieapi-springboot","last_synced_at":"2026-02-11T10:34:05.193Z","repository":{"id":250784420,"uuid":"835462860","full_name":"Jefrey13/MovieAPI-SpringBoot","owner":"Jefrey13","description":"A comprehensive Movie API built with Spring Boot, featuring CRUD operations for movies, actors, directors, and genres. This project includes logging, custom error handling, DTO and DAO layers, service validation, caching, and Swagger documentation for API endpoints.","archived":false,"fork":false,"pushed_at":"2024-07-29T22:45:57.000Z","size":36,"stargazers_count":2,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-08-14T18:56:53.362Z","etag":null,"topics":["api-rest","caching","java","logging","springboot","swagger-ui"],"latest_commit_sha":null,"homepage":"","language":"Java","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/Jefrey13.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2024-07-29T22:28:27.000Z","updated_at":"2025-02-04T14:13:35.000Z","dependencies_parsed_at":"2024-07-30T04:13:21.165Z","dependency_job_id":null,"html_url":"https://github.com/Jefrey13/MovieAPI-SpringBoot","commit_stats":null,"previous_names":["jefrey13/movieapi-springboot"],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/Jefrey13/MovieAPI-SpringBoot","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Jefrey13%2FMovieAPI-SpringBoot","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Jefrey13%2FMovieAPI-SpringBoot/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Jefrey13%2FMovieAPI-SpringBoot/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Jefrey13%2FMovieAPI-SpringBoot/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/Jefrey13","download_url":"https://codeload.github.com/Jefrey13/MovieAPI-SpringBoot/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Jefrey13%2FMovieAPI-SpringBoot/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":29332277,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-02-11T06:13:03.264Z","status":"ssl_error","status_checked_at":"2026-02-11T06:12:55.843Z","response_time":97,"last_error":"SSL_read: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["api-rest","caching","java","logging","springboot","swagger-ui"],"created_at":"2024-11-29T03:18:28.204Z","updated_at":"2026-02-11T10:34:05.166Z","avatar_url":"https://github.com/Jefrey13.png","language":"Java","funding_links":[],"categories":[],"sub_categories":[],"readme":"# MovieAPI-SpringBoot\n\nA comprehensive Movie API built with Spring Boot, featuring CRUD operations for movies, actors, directors, and genres. This project includes logging, custom error handling, DTO and DAO layers, service validation, caching, and Swagger documentation for API endpoints.\n\n## Features\n\n- CRUD operations for Movies, Actors, Directors, and Genres\n- Custom error handling with `@ControllerAdvice` and custom exceptions\n- DTO and DAO layers for clear separation of concerns\n- Service layer with validation\n- Caching with Spring Cache\n- Logging with SLF4J and Logback\n- Swagger documentation for API endpoints\n\n## Prerequisites\n\n- Java 21\n- Maven\n- MySQL or any other preferred database\n\n## Getting Started\n\n### Clone the repository\n\n```bash\ngit clone https://github.com/yourusername/MovieAPI-SpringBoot.git\ncd MovieAPI-SpringBoot \n```\n\n## Configure the Database\nUpdate the application.properties file with your database configuration:\n\n**properties**\n- spring.datasource.url=jdbc:mysql://localhost:3306/yourdatabase\n- spring.datasource.username=yourusername\n- spring.datasource.password=yourpassword\n- spring.jpa.hibernate.ddl-auto=update\n- spring.jpa.show-sql=true\n\n## Build the Project\n\n```bash\nmvn clean install\n```\n## Run the Application\n```bash\nmvn spring-boot:run\n```\n## Access Swagger UI\n\n**Open your browser and navigate to http://localhost:8080/swagger-ui.html to access the Swagger documentation.**\n\n### API Endpoints\n1. Genre Controller \n   2. GET /api/v1/genres/getAllGenres \n   3. GET /api/v1/genres/getGenreById/{id} \n   4. POST /api/v1/genres/createGenre \n   5. PUT /api/v1/genres/updateGenre/{id} \n   6. DELETE /api/v1/genres/deleteGenre/{id}\n2. Director Controller \n   3. GET /api/v1/directors/getAllDirectors \n   4. GET /api/v1/directors/getDirectorById/{id} \n   5. POST /api/v1/directors/createDirector \n   6. PUT /api/v1/directors/updateDirector/{id} \n   7. DELETE /api/v1/directors/deleteDirector/{id}\n3. Actor Controller \n   4. GET /api/v1/actors/getAllActors \n   5. GET /api/v1/actors/getActorById/{id} \n   6. POST /api/v1/actors/createActor \n   7. PUT /api/v1/actors/updateActor/{id} \n   8. DELETE /api/v1/actors/deleteActor/{id}\n4. Movie Controller \n   5. GET /api/v1/movies/getAllMovies \n   6. GET /api/v1/movies/getMovieById/{id} \n   7. POST /api/v1/movies/createMovie \n   8. PUT /api/v1/movies/updateMovie/{id} \n   9. DELETE /api/v1/movies/deleteMovie/{id} \n   10. GET /api/v1/movies/voteMovie/{id}/{rating}","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fjefrey13%2Fmovieapi-springboot","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fjefrey13%2Fmovieapi-springboot","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fjefrey13%2Fmovieapi-springboot/lists"}