{"id":32497299,"url":"https://github.com/angelcamposm/atlas-catalog","last_synced_at":"2026-05-15T18:07:29.776Z","repository":{"id":319918218,"uuid":"1080057105","full_name":"angelcamposm/atlas-catalog","owner":"angelcamposm","description":"A comprehensive microservice catalog and inventory platform built with Laravel 12. This API-driven system helps engineering teams discover, manage, and track their microservices, APIs, and other internal infrastructure assets.","archived":false,"fork":false,"pushed_at":"2026-04-21T18:05:46.000Z","size":4634,"stargazers_count":3,"open_issues_count":5,"forks_count":0,"subscribers_count":0,"default_branch":"master","last_synced_at":"2026-04-21T19:28:19.439Z","etag":null,"topics":["catalog","idp","inventory-management-system","laravel","microservices","php","php8","software-catalog"],"latest_commit_sha":null,"homepage":"","language":"PHP","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/angelcamposm.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE.md","code_of_conduct":"CODE_OF_CONDUCT.md","threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":"SECURITY.md","support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null,"notice":null,"maintainers":null,"copyright":null,"agents":"AGENTS.md","dco":null,"cla":null}},"created_at":"2025-10-20T19:58:33.000Z","updated_at":"2026-04-14T16:28:29.000Z","dependencies_parsed_at":null,"dependency_job_id":"a2b3ce6a-9b94-4636-8ce9-7a1ae44ed248","html_url":"https://github.com/angelcamposm/atlas-catalog","commit_stats":null,"previous_names":["angelcamposm/atlas-catalog"],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/angelcamposm/atlas-catalog","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/angelcamposm%2Fatlas-catalog","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/angelcamposm%2Fatlas-catalog/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/angelcamposm%2Fatlas-catalog/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/angelcamposm%2Fatlas-catalog/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/angelcamposm","download_url":"https://codeload.github.com/angelcamposm/atlas-catalog/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/angelcamposm%2Fatlas-catalog/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":33074442,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-05-15T11:35:32.926Z","status":"ssl_error","status_checked_at":"2026-05-15T11:35:31.362Z","response_time":103,"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":["catalog","idp","inventory-management-system","laravel","microservices","php","php8","software-catalog"],"created_at":"2025-10-27T14:27:26.152Z","updated_at":"2026-05-15T18:07:29.770Z","avatar_url":"https://github.com/angelcamposm.png","language":"PHP","funding_links":[],"categories":[],"sub_categories":[],"readme":"\u003cp align=\"center\"\u003e\u003cimg src=\"docs/images/logo.png\" width=\"680\" alt=\"Atlas Catalog Logo\"\u003e\u003c/p\u003e\n\n[![Quality Gate Status](https://sonarcloud.io/api/project_badges/measure?project=angelcamposm_atlas-catalog\u0026metric=alert_status)](https://sonarcloud.io/summary/new_code?id=angelcamposm_atlas-catalog)\n[![Coverage](https://sonarcloud.io/api/project_badges/measure?project=angelcamposm_atlas-catalog\u0026metric=coverage)](https://sonarcloud.io/summary/new_code?id=angelcamposm_atlas-catalog)\n[![Reliability Rating](https://sonarcloud.io/api/project_badges/measure?project=angelcamposm_atlas-catalog\u0026metric=reliability_rating)](https://sonarcloud.io/summary/new_code?id=angelcamposm_atlas-catalog)\n[![Security Rating](https://sonarcloud.io/api/project_badges/measure?project=angelcamposm_atlas-catalog\u0026metric=security_rating)](https://sonarcloud.io/summary/new_code?id=angelcamposm_atlas-catalog)\n[![Maintainability Rating](https://sonarcloud.io/api/project_badges/measure?project=angelcamposm_atlas-catalog\u0026metric=sqale_rating)](https://sonarcloud.io/summary/new_code?id=angelcamposm_atlas-catalog)\n\n## About Atlas Catalog\n\nAtlas Catalog is a modern, RESTful API designed to serve as a centralized and comprehensive inventory for all microservices, APIs, and digital assets within an organization. Built on Laravel, it provides a robust and scalable solution for discovering, managing, and understanding the complex landscape of a distributed architecture.\n\nKey features include:\n\n- **Centralized Service Discovery**: A single source of truth for all your APIs and services.\n- **Rich Metadata Management**: Track essential information such as endpoints, versions, ownership, access policies, and documentation.\n- **Business Domain Organization**: Group services by business domains to provide clear context and ownership.\n- **Standardized \u0026 RESTful**: A clean, predictable API that follows modern best practices for easy integration.\n- **Extensible by Design**: Easily add new metadata or integrate with other developer tools.\n\nWhether you are a developer looking for service documentation, a platform engineer managing the ecosystem, or an architect designing new systems, Atlas Catalog provides the visibility and control needed to navigate your microservices landscape with confidence.\n\n## Quick Start with Docker\n\nThe easiest way to run the complete project (Backend + Frontend) is using Docker Compose.\n\n### Prerequisites\n\n- [Docker](https://docs.docker.com/get-docker/) (v20.10+)\n- [Docker Compose](https://docs.docker.com/compose/install/) (v2.0+)\n\n### Run the Full Stack\n\n```bash\n# Clone the repository\ngit clone https://github.com/angelcamposm/atlas-catalog.git\ncd atlas-catalog\n\n# Start all services (first run will build images)\ndocker compose -f docker-compose.full.yml up --build\n\n# Or run in detached mode (background)\ndocker compose -f docker-compose.full.yml up -d --build\n```\n\n### Access the Application\n\nOnce the containers are running:\n\n| Service               | URL                                       | Description                     |\n| --------------------- | ----------------------------------------- | ------------------------------- |\n| **Frontend**          | http://localhost:3001                     | Next.js Web Application         |\n| **Backend API**       | http://localhost:8080/api/v1              | Laravel REST API                |\n| **API Documentation** | http://localhost:8080/docs/api            | Scramble-generated OpenAPI spec |\n| **API Health**        | http://localhost:8080/api/v1/catalog/apis | Sample endpoint                 |\n\n### API Documentation\n\nThe Atlas Catalog API is fully documented using **[Scramble](https://scramble.dedoc.co/)**, an open-source OpenAPI documentation generator for Laravel.\n\n**Access the interactive API documentation:**\n\n- **URL:** `http://localhost:8080/docs/api`\n- **Features:** Try-it feature, schema definitions, response examples, endpoint filtering\n\nThe documentation is **automatically generated** from the controller code and type hints—no manual spec files to maintain. This ensures the documentation is always in sync with the actual implementation.\n\n### Services Architecture\n\nThe full stack includes:\n\n| Container        | Service             | Port |\n| ---------------- | ------------------- | ---- |\n| `atlas-frontend` | Next.js 15 Frontend | 3001 |\n| `atlas-nginx`    | Nginx (API Gateway) | 8080 |\n| `atlas-app`      | PHP-FPM (Laravel)   | 9000 |\n| `atlas-postgres` | PostgreSQL 17       | 5432 |\n| `atlas-redis`    | Redis 8             | 6379 |\n\n### Common Docker Commands\n\n```bash\n# View logs\ndocker compose -f docker-compose.full.yml logs -f\n\n# View logs for a specific service\ndocker compose -f docker-compose.full.yml logs -f frontend\ndocker compose -f docker-compose.full.yml logs -f app\n\n# Stop all services\ndocker compose -f docker-compose.full.yml down\n\n# Stop and remove volumes (clean reset)\ndocker compose -f docker-compose.full.yml down -v\n\n# Rebuild a specific service\ndocker compose -f docker-compose.full.yml build frontend\ndocker compose -f docker-compose.full.yml up -d frontend\n\n# Check service status\ndocker compose -f docker-compose.full.yml ps\n\n# Execute commands in containers\ndocker compose -f docker-compose.full.yml exec app php artisan migrate\ndocker compose -f docker-compose.full.yml exec app php artisan tinker\n```\n\n### Environment Configuration\n\nThe Docker setup uses sensible defaults. For production deployments or custom configurations, you can override environment variables:\n\n```bash\n# Backend API URL for frontend (default: http://localhost:8080/api)\nNEXT_PUBLIC_API_URL=http://your-api-host:8080/api\n\n# Database credentials (defaults in docker-compose.full.yml)\nDB_HOST=postgres\nDB_DATABASE=atlas-catalog\nDB_USERNAME=laravel\nDB_PASSWORD=secret\n```\n\n### Development Mode\n\nFor development with hot-reloading:\n\n```bash\n# Use the development compose file (if available)\ndocker compose -f docker-compose.full-dev.yml up --build\n```\n\n## 🛠️ Tech Stack\n\n**Backend**:\n\n- Laravel 12.x\n- PHP 8.4+\n- PostgreSQL 17\n- Redis 8\n- RESTful API\n\n**Frontend**:\n\n- Next.js 15\n- React 19\n- TypeScript\n- Tailwind CSS\n- next-intl (i18n)\n\n**Infrastructure**:\n\n- Docker \u0026 Docker Compose\n- Nginx (reverse proxy)\n- PHP-FPM\n\n## System Architecture\n\n\u003cimg src=\"docs/images/system-architecture.png\" width=\"800\" alt=\"Atlas Catalog Architecture\"\u003e\n\n## 📚 Additional Documentation\n\n- [Backend API Reference](docs/BACKEND_API_REFERENCE.md)\n- [Frontend Implementation Plan](docs/FRONTEND_IMPLEMENTATION_PLAN.md)\n- [Docker Configuration](DOCKER.md)\n- [Full Stack Setup Guide](FULL_STACK_SETUP.md)\n\n## License\n\nThe Atlas Catalog is open-sourced software licensed under the [MIT license](https://opensource.org/licenses/MIT).\n\n## Support Us\n\nLike this project! Star it on GitHub ⭐. Your support means a lot to us.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fangelcamposm%2Fatlas-catalog","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fangelcamposm%2Fatlas-catalog","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fangelcamposm%2Fatlas-catalog/lists"}