https://github.com/angelcamposm/atlas-catalog
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.
https://github.com/angelcamposm/atlas-catalog
catalog idp inventory-management-system laravel microservices php php8 software-catalog
Last synced: 18 days ago
JSON representation
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.
- Host: GitHub
- URL: https://github.com/angelcamposm/atlas-catalog
- Owner: angelcamposm
- License: mit
- Created: 2025-10-20T19:58:33.000Z (8 months ago)
- Default Branch: master
- Last Pushed: 2026-04-21T18:05:46.000Z (about 1 month ago)
- Last Synced: 2026-04-21T19:28:19.439Z (about 1 month ago)
- Topics: catalog, idp, inventory-management-system, laravel, microservices, php, php8, software-catalog
- Language: PHP
- Homepage:
- Size: 4.42 MB
- Stars: 3
- Watchers: 0
- Forks: 0
- Open Issues: 5
-
Metadata Files:
- Readme: README.md
- License: LICENSE.md
- Code of conduct: CODE_OF_CONDUCT.md
- Security: SECURITY.md
- Agents: AGENTS.md
Awesome Lists containing this project
README

[](https://sonarcloud.io/summary/new_code?id=angelcamposm_atlas-catalog)
[](https://sonarcloud.io/summary/new_code?id=angelcamposm_atlas-catalog)
[](https://sonarcloud.io/summary/new_code?id=angelcamposm_atlas-catalog)
[](https://sonarcloud.io/summary/new_code?id=angelcamposm_atlas-catalog)
[](https://sonarcloud.io/summary/new_code?id=angelcamposm_atlas-catalog)
## About Atlas Catalog
Atlas 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.
Key features include:
- **Centralized Service Discovery**: A single source of truth for all your APIs and services.
- **Rich Metadata Management**: Track essential information such as endpoints, versions, ownership, access policies, and documentation.
- **Business Domain Organization**: Group services by business domains to provide clear context and ownership.
- **Standardized & RESTful**: A clean, predictable API that follows modern best practices for easy integration.
- **Extensible by Design**: Easily add new metadata or integrate with other developer tools.
Whether 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.
## Quick Start with Docker
The easiest way to run the complete project (Backend + Frontend) is using Docker Compose.
### Prerequisites
- [Docker](https://docs.docker.com/get-docker/) (v20.10+)
- [Docker Compose](https://docs.docker.com/compose/install/) (v2.0+)
### Run the Full Stack
```bash
# Clone the repository
git clone https://github.com/angelcamposm/atlas-catalog.git
cd atlas-catalog
# Start all services (first run will build images)
docker compose -f docker-compose.full.yml up --build
# Or run in detached mode (background)
docker compose -f docker-compose.full.yml up -d --build
```
### Access the Application
Once the containers are running:
| Service | URL | Description |
| --------------------- | ----------------------------------------- | ------------------------------- |
| **Frontend** | http://localhost:3001 | Next.js Web Application |
| **Backend API** | http://localhost:8080/api/v1 | Laravel REST API |
| **API Documentation** | http://localhost:8080/docs/api | Scramble-generated OpenAPI spec |
| **API Health** | http://localhost:8080/api/v1/catalog/apis | Sample endpoint |
### API Documentation
The Atlas Catalog API is fully documented using **[Scramble](https://scramble.dedoc.co/)**, an open-source OpenAPI documentation generator for Laravel.
**Access the interactive API documentation:**
- **URL:** `http://localhost:8080/docs/api`
- **Features:** Try-it feature, schema definitions, response examples, endpoint filtering
The 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.
### Services Architecture
The full stack includes:
| Container | Service | Port |
| ---------------- | ------------------- | ---- |
| `atlas-frontend` | Next.js 15 Frontend | 3001 |
| `atlas-nginx` | Nginx (API Gateway) | 8080 |
| `atlas-app` | PHP-FPM (Laravel) | 9000 |
| `atlas-postgres` | PostgreSQL 17 | 5432 |
| `atlas-redis` | Redis 8 | 6379 |
### Common Docker Commands
```bash
# View logs
docker compose -f docker-compose.full.yml logs -f
# View logs for a specific service
docker compose -f docker-compose.full.yml logs -f frontend
docker compose -f docker-compose.full.yml logs -f app
# Stop all services
docker compose -f docker-compose.full.yml down
# Stop and remove volumes (clean reset)
docker compose -f docker-compose.full.yml down -v
# Rebuild a specific service
docker compose -f docker-compose.full.yml build frontend
docker compose -f docker-compose.full.yml up -d frontend
# Check service status
docker compose -f docker-compose.full.yml ps
# Execute commands in containers
docker compose -f docker-compose.full.yml exec app php artisan migrate
docker compose -f docker-compose.full.yml exec app php artisan tinker
```
### Environment Configuration
The Docker setup uses sensible defaults. For production deployments or custom configurations, you can override environment variables:
```bash
# Backend API URL for frontend (default: http://localhost:8080/api)
NEXT_PUBLIC_API_URL=http://your-api-host:8080/api
# Database credentials (defaults in docker-compose.full.yml)
DB_HOST=postgres
DB_DATABASE=atlas-catalog
DB_USERNAME=laravel
DB_PASSWORD=secret
```
### Development Mode
For development with hot-reloading:
```bash
# Use the development compose file (if available)
docker compose -f docker-compose.full-dev.yml up --build
```
## 🛠️ Tech Stack
**Backend**:
- Laravel 12.x
- PHP 8.4+
- PostgreSQL 17
- Redis 8
- RESTful API
**Frontend**:
- Next.js 15
- React 19
- TypeScript
- Tailwind CSS
- next-intl (i18n)
**Infrastructure**:
- Docker & Docker Compose
- Nginx (reverse proxy)
- PHP-FPM
## System Architecture

## 📚 Additional Documentation
- [Backend API Reference](docs/BACKEND_API_REFERENCE.md)
- [Frontend Implementation Plan](docs/FRONTEND_IMPLEMENTATION_PLAN.md)
- [Docker Configuration](DOCKER.md)
- [Full Stack Setup Guide](FULL_STACK_SETUP.md)
## License
The Atlas Catalog is open-sourced software licensed under the [MIT license](https://opensource.org/licenses/MIT).
## Support Us
Like this project! Star it on GitHub ⭐. Your support means a lot to us.