Add API Documentation Service and enhance existing services with OpenAPI support
This commit is contained in:
@@ -52,6 +52,20 @@ LabFusion is a unified dashboard and integration hub for homelab services, built
|
||||
- Progress tracking document
|
||||
- Updated project structure documentation
|
||||
|
||||
- [x] **API Documentation Service** (2024-11-09)
|
||||
- Unified Swagger/OpenAPI documentation service
|
||||
- Aggregates API specs from all services
|
||||
- Service health monitoring
|
||||
- Dynamic spec generation with service prefixing
|
||||
- Express.js service with Swagger UI integration
|
||||
|
||||
- [x] **Enhanced Service Adapters** (2024-11-09)
|
||||
- Comprehensive OpenAPI documentation with Pydantic models
|
||||
- Detailed request/response schemas for all endpoints
|
||||
- Service-specific tags and descriptions
|
||||
- Enhanced error handling with proper HTTP status codes
|
||||
- Additional endpoints for better service integration
|
||||
|
||||
## Current Status 🚧
|
||||
|
||||
### Services Directory Structure
|
||||
@@ -60,13 +74,15 @@ services/
|
||||
├── api-gateway/ # Java Spring Boot (Port 8080) ✅
|
||||
├── service-adapters/ # Python FastAPI (Port 8000) ✅
|
||||
├── metrics-collector/ # Go service (Port 8081) 🚧
|
||||
└── notification-service/ # Node.js service (Port 8082) 🚧
|
||||
├── notification-service/ # Node.js service (Port 8082) 🚧
|
||||
└── api-docs/ # API Documentation (Port 8083) ✅
|
||||
```
|
||||
|
||||
### Infrastructure
|
||||
- **Database**: PostgreSQL (Port 5432) ✅
|
||||
- **Message Bus**: Redis (Port 6379) ✅
|
||||
- **Frontend**: React (Port 3000) ✅
|
||||
- **API Documentation**: Unified Swagger UI (Port 8083) ✅
|
||||
- **Containerization**: Docker Compose ✅
|
||||
|
||||
## Next Steps 🎯
|
||||
|
||||
@@ -29,12 +29,18 @@ labfusion/
|
||||
│ │ ├── Dockerfile # Production container (planned)
|
||||
│ │ ├── Dockerfile.dev # Development container (planned)
|
||||
│ │ └── README.md # Service documentation
|
||||
│ └── notification-service/ # Node.js Notification Service (Port 8082) 🚧
|
||||
│ ├── notification-service/ # Node.js Notification Service (Port 8082) 🚧
|
||||
│ ├── src/ # TypeScript source (planned)
|
||||
│ ├── package.json # Node.js dependencies (planned)
|
||||
│ ├── Dockerfile # Production container (planned)
|
||||
│ ├── Dockerfile.dev # Development container (planned)
|
||||
│ └── README.md # Service documentation
|
||||
│ └── api-docs/ # API Documentation Service (Port 8083) ✅
|
||||
│ ├── server.js # Express server for unified docs
|
||||
│ ├── package.json # Node.js dependencies
|
||||
│ ├── Dockerfile # Production container
|
||||
│ ├── Dockerfile.dev # Development container
|
||||
│ └── README.md # Service documentation
|
||||
├── frontend/ # React Frontend (Port 3000)
|
||||
│ ├── src/
|
||||
│ │ ├── components/ # React components
|
||||
|
||||
Reference in New Issue
Block a user