{"id":25619621,"url":"https://github.com/manuel-ayusa/blog-api","last_synced_at":"2026-05-05T04:37:23.280Z","repository":{"id":262516132,"uuid":"878554447","full_name":"Manuel-Ayusa/blog-api","owner":"Manuel-Ayusa","description":"API-RESTful con Laravel","archived":false,"fork":false,"pushed_at":"2025-01-29T20:54:54.000Z","size":451,"stargazers_count":1,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-02-22T06:18:28.027Z","etag":null,"topics":["api-restful","laravel","permissions","token-authetication","vuejs"],"latest_commit_sha":null,"homepage":"","language":"PHP","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/Manuel-Ayusa.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-10-25T15:52:16.000Z","updated_at":"2025-01-29T20:54:57.000Z","dependencies_parsed_at":"2024-12-14T14:20:55.140Z","dependency_job_id":"b4ecb8b2-9af7-40ed-abf5-29e2579c0643","html_url":"https://github.com/Manuel-Ayusa/blog-api","commit_stats":null,"previous_names":["manuel-ayusa/api-codersfree","manuel-ayusa/blog-api"],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/Manuel-Ayusa/blog-api","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Manuel-Ayusa%2Fblog-api","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Manuel-Ayusa%2Fblog-api/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Manuel-Ayusa%2Fblog-api/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Manuel-Ayusa%2Fblog-api/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/Manuel-Ayusa","download_url":"https://codeload.github.com/Manuel-Ayusa/blog-api/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Manuel-Ayusa%2Fblog-api/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":32635994,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-05-04T10:08:07.713Z","status":"online","status_checked_at":"2026-05-05T02:00:06.033Z","response_time":54,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"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-restful","laravel","permissions","token-authetication","vuejs"],"created_at":"2025-02-22T06:18:22.722Z","updated_at":"2026-05-05T04:37:23.265Z","avatar_url":"https://github.com/Manuel-Ayusa.png","language":"PHP","funding_links":[],"categories":[],"sub_categories":[],"readme":"# API Blog\n\u003cb\u003eAPI Blog\u003c/b\u003e es una \u003cb\u003eAPI RESTful\u003c/b\u003e que permite gestionar los recursos de un blog web. La API proporciona endpoints para realizar operaciones \u003cb\u003eCRUD\u003c/b\u003e (Crear, Leer, Actualizar y Eliminar) en entidades como \u003cb\u003ePosts\u003c/b\u003e, \u003cb\u003eCategorías\u003c/b\u003e, \u003cb\u003eEtiquetas\u003c/b\u003e y \u003cb\u003eRoles de usuario\u003c/b\u003e.\n\n## Estructura del proyecto \n\u003cb\u003eEndpoints\u003c/b\u003e: Permiten la comunicación entre el cliente y la API. \u003cbr\u003e\n\u003cb\u003eControladores\u003c/b\u003e: Gestionan la lógica de cada endpoint. \u003cbr\u003e\n\u003cb\u003eModelos\u003c/b\u003e: Representan las entidades o recursos de la base de datos. \u003cbr\u003e\n\u003cb\u003eMiddlewares\u003c/b\u003e: Se utilizan para la autenticación y proteger los controladores de accesos no autorizados. \u003cbr\u003e\n\n## Autenticación y seguridad\nLa \u003cb\u003eAPI\u003c/b\u003e cuenta con un sistema de autenticación por tokens \u003cb\u003e(JWT)\u003c/b\u003e. Ademas contiene un sistema de roles y permisos que restringe el acceso a distintas acciones de la aplicación según el usuario. \u003cbr\u003e\nPara la autenticación se utilizó el paquete \u003ca href=\"https://laravel.com/docs/11.x/passport\" target=\"_blank\"\u003eLaravel Passport\u003c/a\u003e y para el sistema de roles y permisos se implemento \u003ca href=\"https://spatie.be/docs/laravel-permission/v6/introduction\" target=\"_blank\"\u003eLaravel Permissions\u003c/a\u003e.\n\n## Documentacion con Swagger\nSe utilizó \u003ca href=\"https://swagger.io/\" target=\"_blank\"\u003eSwagger\u003c/a\u003e para documentar cada endpoint de la API, incluyendo métodos HTTP (GET, POST, PUT, DELETE), parámetros, respuestas y tipos de datos. \u003cbr\u003e\n\nSwagger mantiene el sistema de autenticación por token(JWT) para controlar el acceso a los recursos. \u003cbr\u003e\n\nAdemás nos permite explorar la API de forma interactiva, ya que genera una interfaz gráfica (Swagger UI) que permite probar las rutas de la API directamente desde el navegador.\nPuedes enviar solicitudes con parámetros, cabeceras, y cuerpo (body), y ver las respuestas de la API en tiempo real.\n\nEsta documentación la podes encontrar \u003ca href=\"http://api.codersfree.test/api/documentation#/\" target=\"_blank\"\u003eaqui\u003c/a\u003e.\n\n## Tecnologias implementadas\n\u003cb\u003eLaravel\u003c/b\u003e: Framework para el desarrollo backend de la aplicación. \u003cbr\u003e\n\u003cb\u003eMySQL\u003c/b\u003e: Para la gestión de la base de datos.\u003cbr\u003e\n\u003cb\u003ePostman\u003c/b\u003e: Ejecutar pruebas a los endpoints.\u003cbr\u003e\n\u003cb\u003eSwagger\u003c/b\u003e: Herramienta para documentar los endpoints de la API.\n\n## Autor\nManuel Alejandro Ayusa - Programador y Desarrollador web \u003cbr\u003e\n\u003ca href=\"mailto:ayusamanuel6@gmail.com\"\u003eayusamanuel6@gmail.com\u003c/a\u003e \u003cbr\u003e\n\u003ca href=\"https://www.linkedin.com/in/manuel-alejandro-ayusa-aa7415282/\"\u003eLinkedin\u003c/a\u003e\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmanuel-ayusa%2Fblog-api","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fmanuel-ayusa%2Fblog-api","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmanuel-ayusa%2Fblog-api/lists"}