{"id":23138627,"url":"https://github.com/pedrosfaria2/api-gateway","last_synced_at":"2025-04-04T09:44:40.818Z","repository":{"id":265148370,"uuid":"895280415","full_name":"pedrosfaria2/api-gateway","owner":"pedrosfaria2","description":"A high-performance API Gateway written in Go, following Clean Architecture principles. Features dynamic routing, middleware support, and plugin system for extensibility. Built for reliability and ease of use in modern microservices architectures.","archived":false,"fork":false,"pushed_at":"2024-11-28T00:40:39.000Z","size":16,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-02-09T20:29:10.596Z","etag":null,"topics":["api-gateway","api-management","authentication","circuit-breaker","clean-architecture","distributed-systems","golang","high-performance","jwt","jwt-authentication","load-balancer","metrics","microservices","middleware","monitoring","rate-limiting","reverse-proxy","service-discovery"],"latest_commit_sha":null,"homepage":"","language":"Go","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/pedrosfaria2.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","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-11-27T22:51:55.000Z","updated_at":"2024-11-28T00:28:40.000Z","dependencies_parsed_at":"2024-11-28T00:46:10.221Z","dependency_job_id":null,"html_url":"https://github.com/pedrosfaria2/api-gateway","commit_stats":null,"previous_names":["pedrosfaria2/api-gateway"],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/pedrosfaria2%2Fapi-gateway","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/pedrosfaria2%2Fapi-gateway/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/pedrosfaria2%2Fapi-gateway/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/pedrosfaria2%2Fapi-gateway/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/pedrosfaria2","download_url":"https://codeload.github.com/pedrosfaria2/api-gateway/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":247157134,"owners_count":20893210,"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":["api-gateway","api-management","authentication","circuit-breaker","clean-architecture","distributed-systems","golang","high-performance","jwt","jwt-authentication","load-balancer","metrics","microservices","middleware","monitoring","rate-limiting","reverse-proxy","service-discovery"],"created_at":"2024-12-17T13:11:22.522Z","updated_at":"2025-04-04T09:44:40.781Z","avatar_url":"https://github.com/pedrosfaria2.png","language":"Go","funding_links":[],"categories":[],"sub_categories":[],"readme":"# API Gateway\n\nA modern, high-performance API Gateway built with Go, designed with Clean Architecture principles. This project aims to provide a flexible, modular, and extensible solution for API management and routing.\n\n## Key Features\n\n- **Clean Architecture**: Clear separation of concerns with a layered architecture\n- **Dynamic Configuration**: Easy configuration via YAML/JSON without requiring recompilation\n- **High Performance**: Built for high concurrency and low latency\n- **Extensible Plugin System**: Easy to add new middlewares and functionalities\n- **Monitoring \u0026 Metrics**: Built-in support for metrics and monitoring\n- **Modern Development**: Docker support, hot-reloading, and comprehensive testing\n\n## Architecture\n\nThe project follows Clean Architecture principles with distinct layers:\n\n- **Core**: Contains the central business logic and domain rules\n- **Infrastructure**: Implements external tool integrations\n- **Plugins**: Modular system for extending functionality\n- **Configuration**: Manages system settings and routing rules\n\n## Quick Start\n\n### Prerequisites\n\n- Go 1.21 or higher\n- Docker and Docker Compose\n- Make\n\n### Development Setup\n\n1. Install dependencies:\n```bash\nmake install-deps\nmake setup\nmake setup-hooks\n```\n\n2. Run locally:\n```bash\nmake run-dev  # Run with hot-reload\n# or\nmake run      # Run without hot-reload\n```\n\n3. Run with Docker:\n```bash\nmake run-docker\n# or\nmake run-compose  # Run with Docker Compose\n```\n\n## Testing\n\n```bash\nmake test            # Run tests\nmake test-coverage   # Run tests with coverage\n```\n\n## Code Quality\n\n```bash\nmake lint     # Run linters\nmake format   # Format code\n```\n\n\n## Project Goals\n\n1. **Extensibility**: Easy addition of new middlewares and backends without core changes\n2. **Modularity**: Clear separation of concerns and responsibilities\n3. **Performance**: Optimized for high throughput and low latency\n4. **Developer Experience**: Simple configuration and deployment\n5. **Reliability**: Comprehensive testing and monitoring\n\n## Core Components\n\n- Dynamic routing with configurable backends\n- Middleware chain for request/response processing\n- Plugin system for authentication, caching, and more\n- Metrics and monitoring integration\n- Request/response transformation capabilities\n- Rate limiting and circuit breaking\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fpedrosfaria2%2Fapi-gateway","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fpedrosfaria2%2Fapi-gateway","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fpedrosfaria2%2Fapi-gateway/lists"}