Skip to content

Implement multi-service architecture with Grafana, MongoDB, and order management#4

Merged
GabrielTenma merged 16 commits intomasterfrom
development
Mar 31, 2026
Merged

Implement multi-service architecture with Grafana, MongoDB, and order management#4
GabrielTenma merged 16 commits intomasterfrom
development

Conversation

@GabrielTenma
Copy link
Copy Markdown
Member

No description provided.

GabrielTenma and others added 16 commits January 9, 2026 11:42
- Add 'master' branch to GitHub Actions workflow triggers
- Fix indentation in build scripts ASCII art
- Add lazy loading styles and functionality to web assets for improved performance
- Renumbered subsequent sections and updated project structure summary
- Improved clarity and organization of docs_wiki for easier navigation
Refactor documentation structure and update service registration details
… management (#3)

* feat: Add Grafana service for dashboard and data source management

- Implemented GrafanaService with endpoints for creating, updating, retrieving, and deleting dashboards.
- Added functionality for managing data sources and annotations.
- Included health check endpoint for Grafana.

feat: Introduce MongoDB service for multi-tenant product management

- Created MongoDBService to handle product operations across different tenant databases.
- Implemented CRUD operations for products with tenant-specific database connections.
- Added search and analytics functionalities for products.

feat: Develop Multi-Tenant service for order management

- Established MultiTenantService to manage orders across multiple PostgreSQL databases.
- Implemented CRUD operations for orders with tenant-specific handling.
- Auto-migrated order schema for each connected database.

feat: Create Products service with basic functionality

- Added ProductsService with a simple endpoint to return a greeting message.
- Registered service for future expansion.

feat: Implement Tasks service for task management

- Developed TasksService with CRUD operations for tasks using PostgreSQL.
- Utilized async operations to enhance performance.

feat: Add Users service for user management

- Created UsersService with endpoints for user CRUD operations.
- Implemented request validation and mock data handling for user management.

* refactor: Update documentation structure and service naming conventions

* refactor: simplify flag parsing and config loading in main.go

- Replaced complex flag definitions system with simple flag package usage
- Consolidated config loading logic into dedicated loadConfig function
- Removed unused flag definitions and validation code
- Simplified main function flow for better readability
- Maintained all existing functionality while reducing complexity

* refactor: rename launch configurations and update build script documentation

Enhanced build script documentation to reflect the transition from shell scripts to a unified Go-based build system with improved cross-platform support, automatic tool installation, and structured logging capabilities.

* refactor: migrate Docker build scripts to Go-based cross-platform implementation

- Replaced shell/batch scripts with Go-based wrapper for better cross-platform compatibility
- Added comprehensive Docker containerization with multi-stage builds
- Updated project metadata to reflect Stackyard branding
- Enhanced build process with distroless production images for security and size optimization

* refactor: reorganize build script structure and improve project root detection

- Converted configuration constants to variables for better flexibility
- Added comprehensive project root detection that searches up directory tree for go.mod
- Implemented proper path validation and directory navigation
- Moved dist directory creation to project root detection function
- Added structured logging for directory changes and project validation
- Reorganized build steps to include path checking as first step
- Improved error handling and user feedback during build process

* refactor: remove unused module import and fix comment typo

* refactor: add WireName and Get methods to service interfaces

Added WireName() and Get() methods to all service implementations to support dependency injection framework integration. This change standardizes the service interface pattern across the codebase, enabling better service discovery and wiring capabilities.

* refactor: restructure app initialization with step-based pattern

* refactor: remove duplicate blueprint documentation sections

Removed duplicate "2.4 Step-by-Step Application Execution" section from blueprint documentation. The section was repeated verbatim, causing redundancy and potential confusion for developers referencing the architecture documentation.

* refactor: simplify main function and implement dependency injection pattern

Reorganized the application initialization to use a cleaner dependency injection approach. Removed the complex step-by-step initialization pattern and replaced it with a more straightforward structure using ConfigManager and Application types. This improves code readability and maintainability while preserving all existing functionality.

* refactor: simplify default app name and update architecture documentation

* docs: add testing infrastructure and metrics documentation

Update go build command to build package directory instead of single file.
Add comprehensive documentation for:
- Testing helpers and mock implementations
- Test file organization and coverage
- Metrics system (HTTP, cache, resilience, WebSocket, batch)
- Project structure updates with new packages

* docs: add Swagger API documentation and refactor flag parsing

Add comprehensive Swagger/OpenAPI annotations to API endpoints
including Grafana and MongoDB services for improved documentation.
Refactor command-line flag parsing to use parameter utility,
adding support for port, verbose, and environment flags.

* refactor: service generator

* feat(service-generator): add optional test file generation

* feat(minio): Integrate MinIO as top-level service and update configuration

* refactor(infrastructure): introduce component registry pattern

Implement unified infrastructure component management with automatic registration. Each manager (Kafka, MinIO, HTTP) now implements InfrastructureComponent interface with Name(), Close(), and GetStatus() methods.

Move external services configuration under monitoring section for better organization. Update HTTP manager's GetStatus to return structured map instead of slice. Add comprehensive documentation for registry pattern and service helper utilities.
Copy link
Copy Markdown

@github-advanced-security github-advanced-security bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

gosec found more than 20 potential problems in the proposed changes. Check the Files changed tab for more details.

@GabrielTenma GabrielTenma merged commit c6f3d86 into master Mar 31, 2026
2 of 7 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants