{"id":27157727,"url":"https://github.com/0luis8/backend-springboot","last_synced_at":"2026-04-12T09:06:27.199Z","repository":{"id":286591144,"uuid":"951183629","full_name":"0Luis8/Backend-SpringBoot","owner":"0Luis8","description":"Backend de una web que muestra películas que puedes votar. Es la estructura del CRUD y la función de votar. Todas las comprobaciones las he realizado con Postman trabajando con los diferentes endpoints. Un proyecto futuro será añadir la parte de seguridad y añadir un perfil de usuario administrador para que pueda realizar solo él los cambios.","archived":false,"fork":false,"pushed_at":"2025-04-07T10:11:43.000Z","size":10,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-04-07T11:25:03.665Z","etag":null,"topics":["java","jpa","maven","mysql","postman","spring-boot"],"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/0Luis8.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":"2025-03-19T09:38:32.000Z","updated_at":"2025-04-07T10:11:47.000Z","dependencies_parsed_at":"2025-04-07T11:25:06.668Z","dependency_job_id":"57fffcff-3d55-4315-9d56-f2dd0713824b","html_url":"https://github.com/0Luis8/Backend-SpringBoot","commit_stats":null,"previous_names":["0luis8/backend-springboot"],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/0Luis8/Backend-SpringBoot","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/0Luis8%2FBackend-SpringBoot","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/0Luis8%2FBackend-SpringBoot/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/0Luis8%2FBackend-SpringBoot/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/0Luis8%2FBackend-SpringBoot/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/0Luis8","download_url":"https://codeload.github.com/0Luis8/Backend-SpringBoot/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/0Luis8%2FBackend-SpringBoot/sbom","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":266094082,"owners_count":23875570,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","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":["java","jpa","maven","mysql","postman","spring-boot"],"created_at":"2025-04-08T21:35:57.562Z","updated_at":"2026-04-12T09:06:27.172Z","avatar_url":"https://github.com/0Luis8.png","language":"Java","funding_links":[],"categories":[],"sub_categories":[],"readme":"# 🎬 Proyecto Backend de Gestión de Películas\n\nEste proyecto está desarrollado con **Java** y **Spring Boot**, y permite gestionar un listado de películas. Se puede consultar, crear, actualizar, eliminar o votar por películas mediante peticiones HTTP.\n\n## 📦 Tecnologías utilizadas\n\n- Java 17+\n- Spring Boot\n- Spring Data JPA\n- H2 / MySQL (configurable)\n- Postman (para pruebas)\n- Maven\n\n📂 Estructura del Proyecto\n\nsrc\n└── main\n    └── java\n        └── com._Luis8.peliculas\n            ├── controllers\n            │   └── MovieController.java\n            ├── models\n            │   └── Movie.java\n            └── repositories\n                └── MovieRepository.java\n\n🧩 Explicación de los archivos\n\n  ✅ Movie.java\n      Ubicación: models/Movie.java\n      Este archivo define la entidad Movie, que representa una película en la base de datos.\n    \n    Campos principales:\n      id: identificador único generado automáticamente.\n      title: título de la película.\n      year: año de estreno.\n      votes: número de votos recibidos.\n      rating: nota media de la película.\n      imageUrl: URL con la imagen del cartel de la película.\n      \n    Anotaciones importantes:\n      @Entity y @Table(name = \"movies\"): indican que esta clase se mapea con la tabla movies.\n      @Id y @GeneratedValue: especifican la clave primaria y su generación automática.\n      @Column(name = \"image_url\"): define el nombre de la columna en la base de datos.\n\n✅ MovieRepository.java\n    Ubicación: repositories/MovieRepository.java\n    Es una interfaz que extiende JpaRepository\u003cMovie, Long\u003e, lo que permite acceder a todas las operaciones CRUD sin necesidad de implementar nada manualmente.\n    Spring Boot se encarga de inyectar automáticamente la implementación concreta gracias a Spring Data JPA.\n\n✅ MovieController.java\n    Ubicación: controllers/MovieController.java\n    Este es el controlador REST del proyecto. Define todos los endpoints para gestionar películas:\n\n      GET /api/peliculas: devuelve todas las películas.\n      GET /api/peliculas/{id}: devuelve una película por su ID.\n      POST /api/peliculas: crea una nueva película.\n      PUT /api/peliculas/{id}: actualiza una película existente.\n      DELETE /api/peliculas/{id}: elimina una película.\n      GET /api/peliculas/vote/{id}/{rating}: vota una película y actualiza su media.\n\n    Notas adicionales:\n      Todos los métodos están anotados con @CrossOrigin para permitir llamadas desde un frontend externo.\n      Se usa ResponseEntity para devolver respuestas HTTP con los códigos apropiados.\n      El método de voto calcula la media ponderada actualizando el número de votos y el rating medio.\n\n🔧 Posibles mejoras futuras\n\n    Añadir autenticación y autorización.\n    Validaciones más estrictas con @Valid.\n    Conectar con un frontend en Angular, React o Vue.\n    Documentación automática con Swagger.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2F0luis8%2Fbackend-springboot","html_url":"https://awesome.ecosyste.ms/projects/github.com%2F0luis8%2Fbackend-springboot","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2F0luis8%2Fbackend-springboot/lists"}