Files
labFusion/services/api-docs
GSRN 7bb753e293
Some checks failed
API Docs (Node.js Express) / test (20) (push) Failing after 1m49s
API Docs (Node.js Express) / build (push) Has been skipped
API Gateway (Java Spring Boot) / test (17) (push) Failing after 3m18s
Docker Build and Push / setup (push) Successful in 10s
API Gateway (Java Spring Boot) / test (21) (push) Successful in 1m56s
API Gateway (Java Spring Boot) / build (push) Has been skipped
Docker Build and Push / build-push-service-adapters (push) Failing after 29s
Docker Build and Push / build-push-api-gateway (push) Failing after 32s
Docker Build and Push / build-push-api-docs (push) Failing after 31s
Docker Build and Push / build-push-frontend (push) Failing after 28s
Docker Build and Push / test-compatibility (push) Has been skipped
Integration Tests / integration-tests (push) Failing after 2m47s
Integration Tests / performance-tests (push) Has been skipped
chore: Update Docker configuration and documentation
### Summary of Changes
- Enhanced `docker-compose` files to include BuildKit compatibility settings for improved caching during builds.
- Updated service definitions to use pre-built images from the specified Docker registry, ensuring consistency across environments.
- Added Docker registry configuration to the `.env` example file for clarity on deployment settings.
- Revised the `README.md` to include instructions for using pre-built images and local development setups, along with Docker compatibility troubleshooting steps.
- Introduced health checks in the `Dockerfile` for the API Docs service to ensure container readiness.

### Expected Results
- Improved build performance and deployment clarity, facilitating easier setup for new developers and enhancing overall project maintainability.
2025-09-18 00:28:21 +02:00
..
2025-09-17 23:41:26 +02:00

API Documentation Service

A unified API documentation service that aggregates OpenAPI specifications from all LabFusion services.

Purpose

  • Provide a single entry point for all API documentation
  • Aggregate OpenAPI specs from all active services
  • Display unified Swagger UI for the entire LabFusion ecosystem
  • Monitor service health and availability

Technology Stack

  • Language: Node.js
  • Port: 8083
  • Dependencies: Express, Swagger UI, Axios

Features

  • Unified Documentation: Single Swagger UI for all services
  • Service Health Monitoring: Real-time status of all services
  • Dynamic Spec Generation: Automatically fetches and merges OpenAPI specs
  • Service Prefixing: Each service's endpoints are prefixed for clarity
  • Fallback Handling: Graceful handling of unavailable services

API Endpoints

  • GET / - Swagger UI interface
  • GET /openapi.json - Unified OpenAPI specification
  • GET /services - Service health status
  • GET /health - Documentation service health

Development Status

Complete - Ready for use with comprehensive testing and clean code implementation

Testing

  • Unit Tests: Jest test suite with comprehensive coverage
  • Coverage: Test coverage reporting
  • CI/CD: Automated testing in Gitea Actions pipeline
  • Quality: ESLint code quality checks

Clean Code Implementation

  • Single Purpose: Focused on OpenAPI spec aggregation
  • Error Handling: Graceful degradation when services are unavailable
  • Caching: Performance optimization with intelligent caching
  • Health Monitoring: Real-time service status tracking
  • Configuration: Environment-based settings management
  • Documentation: Comprehensive inline documentation