Files
labFusion/services/api-gateway
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-11 22:08:12 +02:00
2025-09-11 22:08:12 +02:00
2025-09-17 23:41:26 +02:00

API Gateway Service

The core API gateway for LabFusion, built with Java Spring Boot following clean code principles.

Purpose

  • Central API endpoint for all frontend requests
  • User authentication and authorization
  • Dashboard and widget management
  • Event and device state storage
  • System metrics and health monitoring

Technology Stack

  • Language: Java 17
  • Framework: Spring Boot 3.2.0
  • Port: 8080
  • Database: PostgreSQL
  • Message Bus: Redis
  • Documentation: OpenAPI/Swagger
  • Testing: JUnit 5, Mockito
  • Quality: SpotBugs, Checkstyle, PMD, JaCoCo

Features

  • JWT-based authentication framework
  • RESTful API endpoints with comprehensive documentation
  • WebSocket support for real-time updates
  • Dashboard CRUD operations
  • Event and device state management
  • System health monitoring
  • OpenAPI documentation generation
  • Comprehensive error handling
  • Clean code architecture with layered design

Architecture

  • Controller Layer: REST endpoints with validation
  • Service Layer: Business logic and orchestration
  • Repository Layer: Data access abstraction
  • Model Layer: JPA entities and DTOs
  • Configuration: Spring Boot auto-configuration

API Endpoints

  • GET /actuator/health - Health check
  • GET /swagger-ui.html - API documentation
  • GET /api/dashboards - Dashboard management
  • GET /api/system/metrics - System metrics
  • POST /api/events - Event publishing

Development Status

Complete - Core functionality implemented with clean code principles