{"id":25492264,"url":"https://github.com/agush44/api_movies","last_synced_at":"2026-04-08T18:02:10.405Z","repository":{"id":266714423,"uuid":"899131911","full_name":"agush44/api_movies","owner":"agush44","description":"Este proyecto consiste en una aplicación backend que permite gestionar una base de datos de películas y usuarios. Incluye funcionalidades de registro, autenticación y operaciones CRUD en películas. Además, implementa medidas de seguridad y está documentada con Swagger.","archived":false,"fork":false,"pushed_at":"2024-12-12T01:16:44.000Z","size":74,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-09-21T18:51:24.413Z","etag":null,"topics":["express","helmet","javascript","joi","jwt","mongodb","nodejs","npm","swagger"],"latest_commit_sha":null,"homepage":"","language":"JavaScript","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/agush44.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,"zenodo":null}},"created_at":"2024-12-05T17:18:09.000Z","updated_at":"2024-12-12T01:16:48.000Z","dependencies_parsed_at":"2025-02-18T22:31:20.578Z","dependency_job_id":"26f69f36-fb54-4972-902b-c6356d68995a","html_url":"https://github.com/agush44/api_movies","commit_stats":null,"previous_names":["agush44/api_products","agush44/api_movies"],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/agush44/api_movies","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/agush44%2Fapi_movies","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/agush44%2Fapi_movies/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/agush44%2Fapi_movies/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/agush44%2Fapi_movies/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/agush44","download_url":"https://codeload.github.com/agush44/api_movies/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/agush44%2Fapi_movies/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":31567227,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-04-08T14:31:17.711Z","status":"ssl_error","status_checked_at":"2026-04-08T14:31:17.202Z","response_time":54,"last_error":"SSL_connect returned=1 errno=0 peeraddr=140.82.121.5:443 state=error: 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":["express","helmet","javascript","joi","jwt","mongodb","nodejs","npm","swagger"],"created_at":"2025-02-18T22:29:15.395Z","updated_at":"2026-04-08T18:02:10.377Z","avatar_url":"https://github.com/agush44.png","language":"JavaScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"# API RESTful de Gestión de Películas y Usuarios\n\n## Descripción\n\nEste proyecto consiste en una aplicación backend que permite gestionar una base de datos de películas y usuarios. Incluye funcionalidades de registro, autenticación y operaciones CRUD en películas. Además, implementa medidas de seguridad y está documentada con Swagger.\n\n## Características\n\n- Registro y autenticación de usuarios con contraseñas encriptadas.\n- Operaciones CRUD (crear, leer, actualizar, eliminar) en películas.\n- Autenticación mediante tokens JWT para proteger endpoints sensibles.\n- Validación de datos usando `Joi` y middleware personalizado.\n- Seguridad mejorada mediante `Helmet`.\n- Documentación de la API utilizando Swagger.\n\n## Tecnologías utilizadas\n\n- **Node.js**\n- **Express**\n- **MongoDB** (con Mongoose)\n- **JWT** para autenticación\n- **Helmet** para seguridad\n- **Swagger** para documentación\n- **Joi** para validación\n\n## Instalación\n\n1. Clona el repositorio:\n\n   ```bash\n   git clone https://github.com/agush44/api_movies.git\n   cd api_movies\n   ```\n\n2. Instala las dependencias:\n\n   ```bash\n   npm install\n   ```\n\n3. Crea un archivo `.env` con las siguientes variables:\n\n   ```env\n   PORT=3000\n   MONGO_URI=tu_conexion_mongo\n   JWT_SECRET=tu_secreto_jwt\n   ```\n\n4. Inicia la aplicación:\n\n   ```bash\n   npm start\n   ```\n\n## Rutas de la API\n\n### Usuarios\n\n| Método | Endpoint          | Descripción                       |\n|--------|-------------------|-----------------------------------|\n| POST   | `/api/users/register` | Registra un nuevo usuario.       |\n| POST   | `/api/users/login`    | Inicia sesión y devuelve un token.|\n\n### Películas\n\n| Método | Endpoint          | Descripción                          |\n|--------|-------------------|--------------------------------------|\n| GET    | `/api/movies`        | Obtiene todas las películas.         |\n| GET    | `/api/movies/:id`    | Obtiene una película por su ID.      |\n| POST   | `/api/movies`        | Crea una nueva película (autenticado).|\n| PUT    | `/api/movies/:id`    | Actualiza una película (autenticado).|\n| DELETE | `/api/movies/:id`    | Elimina una película (autenticado).  |\n\n## Documentación\n\nAccede a la documentación Swagger en:\n\n```\nhttp://localhost:3000/api-docs\n```\n\n## Seguridad\n\nLa API implementa `Helmet` para mejorar la seguridad estableciendo cabeceras HTTP seguras.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fagush44%2Fapi_movies","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fagush44%2Fapi_movies","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fagush44%2Fapi_movies/lists"}