Implement multi-service architecture with Grafana, MongoDB, and order management#3
Merged
GabrielTenma merged 18 commits intodevelopmentfrom Mar 31, 2026
Merged
Conversation
- 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.
- 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
…ntation 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.
…lementation - 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
…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
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.
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.
…attern 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.
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
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.
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.
There was a problem hiding this comment.
gosec found more than 20 potential problems in the proposed changes. Check the Files changed tab for more details.
GabrielTenma
added a commit
that referenced
this pull request
Mar 31, 2026
… management (#4) * feat: monitoring UI favicon - 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 * chore: security scan report 2026-01-09 04:45:39 * refactor(tui): simplify live view UI by removing progress animation and updating separators * chore: security scan report 2026-01-14 06:19:31 * fix: build script for mac and logo upscaled * chore: security scan report 2026-02-15 13:04:02 * fix: logo size and docs * chore: security scan report 2026-02-18 04:53:28 * docs: simplify documentation structure and adjust logo size - Renumbered subsequent sections and updated project structure summary - Improved clarity and organization of docs_wiki for easier navigation * Rename module from "test-go" to "stackyard" across all source files * refactor: restructure service registration and dependencies management * Update blueprint documentation with service registration system details * docs: update README and documentation for clarity and consistency * chore: security scan report 2026-03-15 05:54:23 * Implement multi-service architecture with Grafana, MongoDB, and order 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. --------- Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com> Co-authored-by: Unknown <unknown@email.com>
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
No description provided.