With help of the other kings
around the ocean
, He is considered as one of the king of storage managers.
He can manage your application files which spread over the internet.
- Provide single point of entry to upload files.
- Provide single point of entry to access the uploaded file.
- Allowing multiple files upload at once.
- Allowing multiple storage
provider
, current support is:local
- Support multiple
language
interface, current supports are:id
,en
- Avoid coupling between storage service provider.
Q1. Is there any possibility for file size to be negative?
A1. No, and for overflow problem system is gonna mark negative size as zero
Q2. Prefer one line code or positive case at the end of code?
A2. positive case at the end of code
No issues right now
- [storage-local] date foldering (strategy)
- [translation] implementation on service layer
- [all-packages] unit test
- [builtin-app] end to end test
- [gateway-app] implementation (gin/echo)
- [storage]
AWS S3
Support - [file] refactor multipart.Fileheader depedency to avoid coupling
- [gateway-app] end to end test
- [repository]
mongodb
database implementation - [database]
mongodb
database client - [gateway-app] Concurrent processing when uploading multiple files
- [storage]
Alicloud OSS
Support - [gateway-app] Custom file validation rules/policies (e.g: based on
provider
, orapplication
) - [gateway-app] Caching layer
- [gateway-app] Allowing file authorization in the future (e.g: based on
context
) - [gateway-app] Custom file slug configuration (for SEO purpose)
- [gateway-app] Storage dashboard monitoring (e.g: grafana dashboard by using prometheus exporter)
- [gateway-app] Upload to multiple provider for each file support (e.g: for backup purpose)
Please always follow the development guidance described above to keep the code quality
great and also to decrease unecessary bug
.
Do run the unit test
after changing code or before push/updating the code.
Leave better than you found it