NoMongo: Create Central MinIO Client Configuration for talawa-admin #3316
Labels
documentation
Improvements or additions to documentation
duplicate
This issue or pull request already exists
feature request
no-issue-activity
No issue activity
unapproved
Unapproved for Pull Request
Is your feature request related to a problem? Please describe.
Currently, there is no centralized MinIO client file in the frontend of the application. This creates several challenges:
Contributors need to implement their own MinIO configuration, leading to inconsistencies
The transition from base64 to MinIO storage is fragmented across different parts of the codebase
Duplicate configuration code is likely to emerge as different contributors implement similar solutions
Potential for inconsistent implementation patterns across the application
Describe the solution you'd like
Create a central MinIO client configuration file that can be imported and used throughout the frontend application. This file should:
1.Provide a consistent API for interacting with MinIO storage
2.Handle common operations like uploading, retrieving, and deleting files
3.Include proper error handling and logging
4.Be well-documented to ensure all contributors can use it effectively
Describe alternatives you've considered
Letting each contributor implement their own MinIO client as needed
Creating multiple client files for different types of assets (images, documents, etc.)
Using a third-party library to handle MinIO interactions
Approach to be followed (optional)
Create a new utility file in an appropriate location in the frontend codebase
Implement core functions for common MinIO operations:
1.File upload with proper mime-type detection
2.File retrieval with URL generation
3.File deletion
4.Error handling for all operations
Add documentation with usage examples
Create basic tests to ensure functionality
Update relevant documentation to inform contributors about the new centralized client
Additional context
This task should be completed before other contributors begin working on individual file migration tasks from base64 to MinIO. Once this central configuration is in place, other tasks can use this implementation rather than creating their own.
Potential internship candidates
Please read this if you are planning to apply for a Palisadoes Foundation internship
PalisadoesFoundation/talawa#359
The text was updated successfully, but these errors were encountered: