Commit Graph

201 Commits

Author SHA1 Message Date
Ho Ngoc Hai
3ed499ef7c docs: Update architecture documentation for GoodGo Platform
- Translated and revised architecture documents to enhance clarity and accessibility for both English and Vietnamese audiences.
- Improved diagrams and descriptions for caching, data consistency, event-driven architecture, microservices communication, observability, and security architecture.
- Ensured consistent formatting and terminology across all documents to facilitate better understanding and navigation.
- Added quick tips and troubleshooting sections to assist developers in implementing and managing the architecture effectively.
2026-01-14 13:07:19 +07:00
Ho Ngoc Hai
c851fd97eb docs: Revise architecture and template documentation for GoodGo Platform
- Updated the architecture documentation to enhance clarity with detailed diagrams and descriptions for the GoodGo Microservices Platform.
- Revised the .NET and Node.js template documentation to reflect new naming conventions, project structures, and setup instructions for local development.
- Improved the guide documentation with verification checklists, troubleshooting steps, and real-world examples to assist developers in deploying and managing services effectively.
- Ensured bilingual support in documentation to enhance accessibility for a wider audience.
2026-01-14 12:38:41 +07:00
Ho Ngoc Hai
02e1053eb5 docs: Update architecture and template documentation for GoodGo Platform
- Revised the architecture documentation to include detailed diagrams and descriptions for the GoodGo Microservices Platform, enhancing clarity on system components and interactions.
- Updated the .NET template documentation to reflect new naming conventions and project structures, ensuring consistency across services.
- Added real-world examples and practical setup instructions for local development, including Traefik routing and environment variable configurations.
- Enhanced the guide documentation with verification checklists and troubleshooting steps to support developers in deploying and managing services effectively.
2026-01-14 12:21:51 +07:00
Ho Ngoc Hai
6996e12ff0 docs: Add comprehensive Agent Skills documentation in English and Vietnamese
- Introduced new documentation for Agent Skills, detailing best practices, code patterns, common pitfalls, and quick references across various categories such as Architecture, Data Access, Security, Error Handling, Testing, Infrastructure, Communication, and Documentation.
- The documentation is structured to facilitate easy navigation and understanding, supporting developers in implementing consistent patterns on the GoodGo Platform.
- Both English and Vietnamese versions are provided to ensure accessibility for a wider audience.
2026-01-14 12:05:26 +07:00
Ho Ngoc Hai
4973d067ef chore: Remove outdated Cursor Skills documentation files
- Deleted the English and Vietnamese documentation files for Cursor Skills, which included comprehensive details on various skills used in the GoodGo Microservices Platform.
- This cleanup ensures that only relevant and up-to-date documentation is maintained, streamlining the repository and focusing on current development practices.
2026-01-14 11:51:54 +07:00
Ho Ngoc Hai
83081e8f29 chore: Remove obsolete skill documentation files
- Deleted multiple outdated skill documentation files, including those related to API design, API gateway patterns, versioning strategies, caching patterns, CI/CD advanced patterns, bilingual code comments, configuration management, data consistency patterns, Prisma database patterns, Kubernetes deployment patterns, and more.
- This cleanup streamlines the documentation repository, ensuring that only relevant and up-to-date information is maintained for current development practices.
2026-01-14 11:49:58 +07:00
Ho Ngoc Hai
6ca9027782 chore: Refactor skill documentation for clarity and consistency
- Revised multiple skill documentation files to improve clarity and ensure consistency across descriptions and formatting.
- Enhanced the organization of content to facilitate easier navigation and understanding for developers.
- This update aims to streamline the documentation process and support better skill development practices.
2026-01-14 11:49:05 +07:00
Ho Ngoc Hai
df007cafde chore: Update compatibility for skills to .NET 10+
- Revised compatibility specifications in multiple skill documentation files to reflect support for .NET 10+, ensuring alignment with the latest development standards.
- Updated files include API design, error handling patterns, project rules, repository pattern, security, and testing patterns.
- This change enhances the relevance and usability of the skills for current and future development projects.
2026-01-14 11:37:28 +07:00
Ho Ngoc Hai
0138fc75f9 docs(note): Add new Agent Skills proposals for GoodGo Platform
- Expanded the note.md file to include a comprehensive list of proposed new skills for the GoodGo Platform, detailing descriptions and reasons for each skill.
- Organized skills into priority levels to guide implementation focus, enhancing clarity on core development patterns and infrastructure needs.
- This update aims to improve documentation and facilitate better planning for future skill development.
2026-01-14 11:28:53 +07:00
Ho Ngoc Hai
8d9da25aaa chore: Remove obsolete IAM service files and configurations
- Deleted various outdated files related to the IAM service, including configuration files, documentation, and test scripts, to streamline the project structure.
- This cleanup helps maintain focus on current practices and ensures that only relevant and up-to-date information is retained in the repository.
2026-01-14 11:11:17 +07:00
Ho Ngoc Hai
b390cfc900 chore: Remove outdated skill standardization workflow documentation
- Deleted the chuan-hoa-skills.md file, which contained an obsolete workflow for standardizing Agent Skills according to the skill-authoring template.
- This removal helps streamline the documentation by eliminating outdated practices and focusing on current standards for skill development.
2026-01-14 11:09:17 +07:00
Ho Ngoc Hai
32a35a7942 chore: Update API design documentation and remove obsolete files
- Revised the API design documentation to reflect new standards for RESTful API design, including updated compatibility with .NET 8+ and ASP.NET Core.
- Added metadata for authorship and versioning to the documentation.
- Enhanced sections on API response formats and resources, ensuring clarity and consistency.
- Deleted outdated documentation files related to API gateway patterns, versioning strategies, and other obsolete skills to streamline the documentation repository.
2026-01-14 11:08:52 +07:00
Ho Ngoc Hai
d09b84e2e0 chore: Remove outdated documentation files
- Deleted several obsolete documentation files related to API design, API gateway patterns, API versioning strategies, caching patterns, CI/CD advanced patterns, bilingual code comments, configuration management, data consistency patterns, Prisma database patterns, Kubernetes deployment patterns, and more.
- This cleanup helps streamline the documentation and focus on current practices and standards, ensuring that only relevant and up-to-date information is maintained.
2026-01-14 10:27:15 +07:00
Ho Ngoc Hai
4d69684fa4 chore: Remove obsolete plans and skills documentation
- Deleted several outdated plan files related to cursor skills and microservices architecture, including plans for cursor skills, i18n adjustments, enterprise microservices, and event-driven architecture.
- Removed associated skill documentation files that are no longer relevant to the current project structure and standards.
- This cleanup helps streamline the documentation and maintain focus on active development areas.
2026-01-14 10:11:08 +07:00
Ho Ngoc Hai
7d6686c1a7 docs(api): Update README and architecture documentation for file handling and download URLs
- Expanded the API documentation to include detailed sections on file management endpoints, including upload, retrieval, sharing, and deletion.
- Added a comprehensive overview of pre-signed URLs and access levels, clarifying the differences between public, private, and shared file access.
- Introduced a new architecture section detailing the download URL generation flow and security considerations for pre-signed URLs.
- Enhanced the README with examples and explanations to improve developer understanding of file access and management processes.
2026-01-14 01:06:30 +07:00
Ho Ngoc Hai
9fb4379f3d feat(storage): Enhance object key generation with access level prefix
- Updated the GenerateObjectKey method to include a prefix based on the file access level (public, private, shared).
- Improved documentation for the method to clarify the path structure and its implications for file accessibility.
- Adjusted the UploadFileCommandHandler to utilize the new object key generation logic, ensuring proper file organization in storage.
2026-01-14 01:01:29 +07:00
Ho Ngoc Hai
9c648c2d35 feat(cdn): Add CDN URL retrieval for public files and enhance caching mechanisms
- Introduced a new endpoint to retrieve CDN URLs for public files, falling back to pre-signed URLs when necessary.
- Enhanced caching for file metadata retrieval in GetFileQueryHandler to improve performance.
- Updated file handling commands to invalidate relevant caches upon file operations.
- Added configuration settings for CDN in appsettings.json to manage CDN behavior.
- Implemented new data models for CDN URL responses and integrated them into the API response structure.
2026-01-14 00:20:31 +07:00
Ho Ngoc Hai
964e33bee6 feat(storage): Implement multipart upload functionality and caching for file operations
- Added multipart upload methods to the IStorageProvider interface and implemented them in the MinioStorageProvider and AliyunOssStorageProvider classes.
- Integrated Redis caching for user quota management in ConfirmUploadCommandHandler and DeleteFileCommandHandler to ensure updated quota values.
- Enhanced GetUserQuotaQueryHandler to utilize cache-aside pattern for improved performance.
- Updated Dependency Injection to register Redis cache service and configured related settings.
- Introduced database schema changes to support multipart uploads and their parts.
2026-01-13 23:42:35 +07:00
Ho Ngoc Hai
517bea32e7 docs(architecture): Add Multipart Upload architecture and endpoints for large files
- Introduced a new section detailing the Multipart Upload architecture for files larger than 100MB, including a comparison of upload methods.
- Documented the Multipart Upload flow with a sequence diagram illustrating the process from initiation to completion.
- Listed the relevant API endpoints for Multipart Upload, including initiation, part uploads, completion, and progress checking.
- Added a database schema section for tracking multipart uploads and their parts, enhancing clarity on data management.
2026-01-13 23:41:47 +07:00
Ho Ngoc Hai
3756fe6e35 feat(membership): Introduce Membership Service with IAM integration
- Added the Membership Service configuration to the local docker-compose.yml, replacing the previous Social Service setup.
- Implemented IAM Service client with caching and health check capabilities in the Membership Service.
- Created Dependency Injection for IAM Service settings and registered the HttpClient for communication.
- Removed the outdated docker-compose.yml for the previous Social Service.
- Enhanced IAM Service client functionality to validate users, retrieve roles, and manage permissions.
2026-01-13 23:40:59 +07:00
Ho Ngoc Hai
ecacde83ea docs(architecture): Revise documentation for Logical Folder Architecture and Data Sovereignty
- Updated the README and ARCHITECTURE documentation to emphasize the Logical Folder structure, clarifying that folders are a logical concept in the database rather than dependent on bucket structure.
- Highlighted the benefits of using UUID-based keys and a flat bucket structure, including improved performance, security, and scalability.
- Provided detailed examples of database schema, workflows, and performance comparisons to illustrate the advantages of the new approach over traditional methods.
- Enhanced explanations of folder management processes, including creation, renaming, and file uploads, to improve developer understanding and implementation.
2026-01-13 22:37:20 +07:00
Ho Ngoc Hai
1bcdfcccac docs(architecture): Revise documentation for Logical Folder architecture and Data Sovereignty principles
- Updated the architecture documentation to emphasize the Logical Folder structure and its alignment with Data Sovereignty principles.
- Introduced a clear distinction between logical and physical storage, highlighting the benefits of using UUID-based keys and a flat bucket structure.
- Provided detailed examples of database schema, workflows, and performance comparisons to illustrate the advantages of the new approach over traditional bucket-based methods.
- Enhanced explanations of folder creation, renaming, and file management processes to improve developer understanding and implementation.
2026-01-13 22:29:50 +07:00
Ho Ngoc Hai
56f08857db feat(traefik): Add Storage Service routing and update IAM service URL
- Introduced routing for the Storage Service with rules for file management endpoints.
- Updated IAM service base URL to "http://iam-service-net:8080" for consistency.
- Configured load balancer for the Storage Service to enhance file management capabilities.
2026-01-13 21:32:36 +07:00
Ho Ngoc Hai
27f7d146f1 docs(note): Remove outdated notes on OAuth2 features and enhancements 2026-01-13 21:20:06 +07:00
Ho Ngoc Hai
5c8764f63a docs(architecture): Update documentation for direct upload architecture and API endpoints
- Enhanced the architecture documentation to recommend direct upload over legacy proxy upload for improved performance and scalability.
- Added detailed comparisons of upload patterns, including throughput, memory usage, and latency.
- Updated API endpoint documentation to reflect new direct upload methods and their benefits.
- Included examples for direct upload flow and bucket directory structure to aid developers in implementation.
2026-01-13 21:17:55 +07:00
Ho Ngoc Hai
8886585f48 docs(readme): Enhance inter-service communication section for Docker configuration
- Expanded the README documentation to include detailed instructions for Docker network configuration and JWT token issuer setup for inter-service communication.
- Added troubleshooting tips for common issues related to JWT issuer mismatch and container networking.
- Updated caching information and clarified available methods for the IIamServiceClient.
2026-01-13 20:16:20 +07:00
Ho Ngoc Hai
5363d9ca5e feat(identity): Configure fixed issuer URI for IdentityServer
- Added a fixed issuer URI for inter-service communication in the docker-compose.yml and appsettings.json.
- Updated DependencyInjection to utilize the new issuer URI, ensuring consistency across hosts and containers.
2026-01-13 20:05:50 +07:00
Ho Ngoc Hai
374f6904fe chore(docker): Update IAM and Storage Service Dockerfiles
- Added curl installation in the IAM service Dockerfile for improved functionality.
- Removed the deprecated docker-compose.yml for the Storage Service, consolidating service definitions.
- Ensured consistency in the build and publish commands for the Storage Service Dockerfile.
2026-01-13 19:57:51 +07:00
Ho Ngoc Hai
ca18df6a2c feat(docker): Add Storage Service configuration to docker-compose
- Introduced the Storage Service .NET configuration in the local docker-compose.yml, enabling file storage management with external MinIO and Redis integration.
- Updated environment variables for database connection, storage provider, and IAM service communication.
- Configured health checks and Traefik routing for the new service.
2026-01-13 19:53:59 +07:00
Ho Ngoc Hai
e07a294f2d chore(docker): Update IAM service base URL in docker-compose and IamServiceClient
- Changed the IAM service base URL from "http://iam-service:5001" to "http://iam-service-net:8080" in both the local docker-compose.yml and the IamServiceClient class to ensure consistency across configurations.
2026-01-13 19:51:59 +07:00
Ho Ngoc Hai
6fa2bdbded fix(users): Handle null values for email and status in UserDto
- Updated the UsersController to ensure that the Email field defaults to an empty string if null, and the Status field defaults to "Unknown" if not set. This improves the robustness of the user data returned in API responses.
2026-01-13 19:46:24 +07:00
Ho Ngoc Hai
7550929f50 refactor(authentication): Update authorization schemes to use "Bearer" for consistency
- Changed authorization schemes in AuthController, RolesController, and UsersController from JwtBearerDefaults.AuthenticationScheme to "Bearer" for uniformity across the application.
- Added new endpoints in UsersController to retrieve user roles and permissions by user ID, enhancing user management capabilities.
2026-01-13 19:43:16 +07:00
Ho Ngoc Hai
884520a766 chore(configuration): Add IdentityServer authority to appsettings.json
- Introduced IdentityServer configuration with Authority set to "http://localhost:5001" for local development.
2026-01-13 19:36:15 +07:00
Ho Ngoc Hai
312bf360ea chore(docker): Migrate IAM service configuration to main docker-compose file
- Added IAM service configuration to the local docker-compose.yml for streamlined deployment.
- Removed the separate docker-compose.yml file from the IAM service directory to consolidate service definitions.
2026-01-13 19:26:56 +07:00
Ho Ngoc Hai
aafa1ae839 feat(docs): Update README with new registration and email confirmation details
- Added phone number field to the registration example in the API documentation.
- Included detailed response structure for registration and email verification endpoints.
- Updated email confirmation example to use email instead of userId for clarity.
- Enhanced two-factor authentication response to include manual entry key and recovery codes.
2026-01-13 19:07:39 +07:00
Ho Ngoc Hai
7d4958ec92 feat(two-factor): Enhance recovery code generation in TotpTwoFactorService
- Updated recovery code generation to use 12 bytes for base64 conversion, ensuring sufficient characters.
- Implemented fallback padding to guarantee a minimum length of 8 characters for generated codes.
- Adjusted formatting to maintain readability with XXXX-XXXX structure.
2026-01-13 19:01:15 +07:00
Ho Ngoc Hai
a25c9f4ad5 chore(configuration): Update email settings in appsettings.json for IAM service
- Changed SMTP configuration to use specific credentials and sender details for the GoodGo IAM service.
- Updated sender email and name to reflect the new service branding.
2026-01-13 18:57:54 +07:00
Ho Ngoc Hai
38aaf72be2 chore(configuration): Update appsettings for development and production environments
- Modified logging levels in `appsettings.Development.json` to enhance log visibility.
- Added Serilog configuration for structured logging and console output.
- Updated Redis connection settings for improved security and performance.
- Introduced email configuration settings for SMTP integration.
- Added two-factor authentication settings and social login configurations for Google and Facebook.
- Updated the default connection string in `appsettings.json` to match the new database setup.
2026-01-13 18:56:59 +07:00
Ho Ngoc Hai
c23c35844e refactor(authentication): Remove legacy login functionality and related models
- Deleted the `Login` method and associated `LoginRequest` and `LoginResponse` models from `AuthController.cs` to streamline authentication processes.
- This change simplifies the codebase by removing unused components related to the Resource Owner Password Grant flow.
2026-01-13 18:44:31 +07:00
Ho Ngoc Hai
afb756681e feat(authentication): Integrate JWT Bearer authentication and Swagger enhancements
- Added JWT Bearer authentication configuration in `Program.cs` for IAM service integration.
- Updated Swagger setup to include JWT Bearer security definition and requirements.
- Introduced a new Swagger UI client for testing with resource owner password grant type in `Config.cs`.
- Included necessary package reference for `Microsoft.AspNetCore.Authentication.JwtBearer` in the project file.
2026-01-13 12:24:41 +07:00
Ho Ngoc Hai
c7ca541c5f feat(storage-service): Integrate Swagger for API documentation and versioning
- Added Swagger support in `Program.cs` to enhance API documentation and enable annotations.
- Updated project file to generate XML documentation for Swagger and included the `Swashbuckle.AspNetCore.Annotations` package.
- Modified `FilesController` and `QuotaController` to support API versioning and updated route attributes accordingly.
2026-01-13 10:07:26 +07:00
Ho Ngoc Hai
d7852cde79 fix(storage-service): Update application URL in launch settings for local development
- Changed the application URL in `launchSettings.json` from `http://localhost:5000` to `http://localhost:5002` to avoid port conflicts during local development.
2026-01-13 02:29:42 +07:00
Ho Ngoc Hai
0b59b7d219 feat(storage-service): Update storage configuration and enhance service initialization
- Changed the default bucket name in `appsettings.Development.json` from "storage" to "goodgo" and updated MinIO endpoint and credentials for improved access.
- Modified the service initialization in `Program.cs` to include the environment name, enhancing configuration flexibility.
- Added a missing namespace in `CustomWebApplicationFactory.cs` for better test setup.
- Removed obsolete unit test files for `CreateSampleCommandHandler` and `SampleAggregate`, streamlining the test suite.
2026-01-13 02:27:18 +07:00
Ho Ngoc Hai
ee3cd7c770 feat(storage-service): Update connection settings and remove unused sample commands
- Updated `appsettings.Development.json` to change the database connection string for the storage service.
- Added `Microsoft.EntityFrameworkCore.Design` package reference to the project file for design-time features.
- Removed obsolete command and handler files related to sample management, including `ChangeSampleStatusCommand`, `CreateSampleCommand`, `UpdateSampleCommand`, and their respective handlers.
- Cleaned up the `SamplesController` and related query and validation files to streamline the codebase.
2026-01-13 01:57:37 +07:00
Ho Ngoc Hai
77898d6e27 feat(deployments): Extend IAM service routing in Docker Compose for role management
- Updated `docker-compose.yml` to include a new path prefix for roles in the IAM service routing configuration, enhancing API endpoint coverage for role management.
2026-01-13 01:11:47 +07:00
Ho Ngoc Hai
56143ae669 feat(deployments): Revise local environment configuration and Docker Compose for improved service integration
- Updated `.env` file to enhance shared environment variables, including detailed comments in both English and Vietnamese.
- Modified `docker-compose.yml` to disable the storage service and MinIO configuration, streamlining local development setup.
- Adjusted IAM service environment variables to align with the new `.env` structure, ensuring consistent configuration across services.
- Enhanced observability settings and added feature flags for better control over application behavior during development.
- Cleaned up commented-out sections in the Docker Compose file for clarity and maintainability.
2026-01-13 01:08:47 +07:00
Ho Ngoc Hai
71a5d8d4ed feat(deployments): Update local environment configuration for IAM service and Redis integration
- Modified local `.env` and `.env.local` files to include external Redis configuration and IAM service database connection details.
- Updated `docker-compose.yml` to disable local Redis service in favor of an external Redis instance.
- Added JWT configuration parameters for the IAM service, enhancing security and token management.
- Revised example environment file to reflect new configuration options for external services.
- Enhanced documentation to clarify setup instructions for local development with external dependencies.
2026-01-13 01:03:33 +07:00
Ho Ngoc Hai
4a1a0ef79c feat(storage-service): Add Social Service to Docker Compose and enhance IAM service integration
- Introduced a new social-service in the Docker Compose configuration for local development, including build context, environment variables, and health checks.
- Updated architecture documentation to reflect the new storage service structure and its components, including user storage quotas and file management.
- Enhanced README files to provide clearer instructions on service setup, configuration, and API endpoints for file storage management.
- Implemented caching mechanisms in the IAM service client for improved performance and reduced latency in user information retrieval.
- Updated appsettings for development to include caching settings for IAM service interactions.
2026-01-13 00:28:41 +07:00
Ho Ngoc Hai
928a22fe3e feat(authentication): Implement email verification, two-factor authentication, and social login features
- Added endpoints for sending and confirming email verification, enhancing user account security.
- Integrated two-factor authentication (2FA) with TOTP support, including enabling, verifying, and disabling 2FA.
- Implemented social login functionality for Google and Facebook, allowing users to authenticate using their existing accounts.
- Updated dependency injection to include services for email, 2FA, and social login.
- Enhanced documentation to reflect new features and usage examples for email verification and 2FA.
2026-01-12 23:07:53 +07:00
Ho Ngoc Hai
83b007c8ef docs: Update architecture and README documentation to reflect migration from OpenIddict to Duende IdentityServer
- Revised architecture documentation to replace OpenIddict references with Duende IdentityServer, including updates to diagrams and flow descriptions.
- Updated README files in both English and Vietnamese to reflect the change in the OAuth2/OIDC server from OpenIddict to Duende IdentityServer.
- Enhanced token management and authentication flow descriptions to align with the new identity server implementation.
2026-01-12 20:54:12 +07:00