Commit Graph

32 Commits

Author SHA1 Message Date
Ho Ngoc Hai
751f90c365 feat: Log EF Core migration errors instead of crashing the application at startup across all services. 2026-02-28 01:03:43 +07:00
Ho Ngoc Hai
be86e48de6 feat: automatically apply EF Core database migrations on service startup across all services 2026-02-28 00:51:35 +07:00
Ho Ngoc Hai
f521cc0a91 chore: Remove the web-client application, add a local database initialization script, and update service Dockerfiles. 2026-02-28 00:41:17 +07:00
Cursor Agent
22dcc97ba9 feat: implement Aliyun multipart storage operations
Co-authored-by: Velik <hongochai10@users.noreply.github.com>
2026-02-23 11:50:40 +00:00
Ho Ngoc Hai
86c9e7303c docs: Add new services, update existing service documentation, and enhance IAM and Storage service features. 2026-01-18 23:44:03 +07:00
Ho Ngoc Hai
85bd4d6f58 feat: Thêm các controller và query quản trị cho Storage Service, cải tiến quản lý cấp độ thành viên với các bài kiểm tra mới, và cập nhật các controller cùng chính sách ủy quyền 2026-01-15 19:23:31 +07:00
Ho Ngoc Hai
0358ca255a feat: Thêm các tính năng quản lý admin cho Membership và Storage services, cùng với chức năng trao đổi tiền tệ và cập nhật cấu trúc ví trong Wallet service. 2026-01-15 19:12:32 +07:00
Ho Ngoc Hai
2fef02d04a feat: Thêm các unit test cho iam-service-net, cập nhật Dockerfile của merchant-service-net để tăng cường bảo mật và cải thiện quy trình build, đồng thời sửa đổi các unit test hiện có trong storage-service-net. 2026-01-15 18:58:04 +07:00
Ho Ngoc Hai
056d93d338 feat: Bổ sung unit test cho các mô hình miền AccessRequest và AccessRequestStatus trong IAM, đồng thời loại bỏ tệp docker-compose.yml của dịch vụ merchant. 2026-01-15 18:52:44 +07:00
Ho Ngoc Hai
00cda92656 refactor: Loại bỏ các functional test không liên quan đến ủy quyền khỏi MembersControllerTests và thêm NSubstitute.ExceptionExtensions vào các unit test của StorageService. 2026-01-15 18:33:19 +07:00
Ho Ngoc Hai
753e2b9d95 feat: Bổ sung các bài kiểm tra đơn vị và chức năng mới cho Storage, IAM, Membership services, đồng thời thêm cấu hình thực thể cho MerchantService. 2026-01-15 18:30:47 +07:00
Ho Ngoc Hai
3cbf56ec36 feat: Triển khai các API quản lý cửa hàng và người bán trong MerchantService, đồng thời bổ sung các bài kiểm thử đơn vị và chức năng toàn diện cho các dịch vụ Storage, Membership và IAM. 2026-01-15 18:23:40 +07:00
Ho Ngoc Hai
f17578594f feat: Update connection strings and JWT settings in appsettings files
- Modified connection strings in appsettings.json for membership and storage services to use the new database host and credentials.
- Updated Redis configuration with new host, port, and authentication details.
- Changed JWT secret key to enhance security and updated issuer and audience settings for consistency across services.
2026-01-14 23:14:51 +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
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
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
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
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
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
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
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