Alternative to DreamStorageService, but instead of storing files on a database, it is stored on the file system itself.

Last update: Jun 2, 2022

EtherealGambi

Alternative to DreamStorageService, but instead of storing files on a database, it is stored on the file system itself.

I made this because most image optimization pipelines (like Cloudflare Images) are SO EXPENSIVE, OMG! I would gladly pay for a good service, but CF Images charges per image served, even if the image was cached!

I didn't want to use DreamStorageService because I wanted a way to host images for Loritta's blog posts in an easier way, just dragging and droppin' the file.

Maybe this project could replace DreamStorageService! Or maybe DreamStorageService will have features that will make this project obsolete... who knows! The fun part is playing around and figuring out what sticks.

So I decided to make my own solution for this, because I just wanted an easy way to store optimized images without me caring about expenses and stuff like that.

  • Ethereal: extremely delicate and light in a way that seems too perfect for this world.
  • Gambi(arra): Workaround because I got fed up with this issue.

Differences between DreamStorageService and EtherealGambi

  • EtherealGambi keeps the original files on the disk
    • DreamStorageService only keeps the already optimized image on the database.
    • While this is not a huge deal if you are dealing with user generated content, it is a pain if you want to keep a copy of the original version of the file.
  • EtherealGambi is easier to upload and manage file, because it is literally a files folder.
    • DreamStorageService keeps the files on the database, so you can't "interact" with the files easily.
  • No need to upload images via an API, just drag and drop to a folder.
    • DreamStorageService requires an API for this. This is actually is a disadvantage to EtherealGambi, if you want to upload dynamic/user generated content.
  • EtherealGambi only supports resizing images to preset sizes.
    • DreamStorageService supports dynamic image sizes and image cropping.

DreamStorageService is better for user generated content, EtherealGambi is better for static content (example: blog posts' images).

Yes, there is a big overlap in functionality between the two... maybe in the future they could be merged to have the best of both worlds. :3

Objectives

  • Store files
  • Optimize images automatically
  • Easy to upload files: Just a folder that you can drag files to it

Should I use this?

no, it is super hacky.

GitHub

https://github.com/PerfectDreams/EtherealGambi
You might also like...

🧶 Library to handling files for persistent storage with Google Cloud Storage and Amazon S3-compatible server, made in Kotlin

🧶 Remi Library to handling files for persistent storage with Google Cloud Storage and Amazon S3-compatible server, made in Kotlin! Why is this built?

Jun 24, 2022

Firestore Kotlin Client with strict (and relaxed) type-system.

Firestore Kotlin Client with strict (and relaxed) type-system.

Mar 4, 2022

This project is to create a system that uses DeFi technology to enforce contracts.

This project is to create a system that uses DeFi technology to enforce contracts.

This project is to create a system that uses DeFi technology to enforce contracts. Users will be able to set up contracts between each other, this includes an escrow service for payments. If users disagree over whether a contract was fulfilled, a jury appointed by the system will make the final decision.

Jun 17, 2022

A command-line student management system in Kotlin

Student Management System Done as a part of NITK GSDC Android Study Jams 2021 Th

Dec 24, 2021

An android app using Mongodb for logistics tracking system.

DeliveryGo An android application for logistics tracking. Used technology Kotlin: In this project kotlin is used to code the full application on Andro

Mar 5, 2022

PlanetFacts - An educational android app for kids to learn about the planets in our solar system. Built with Kotlin.

PlanetFacts PlanetFacts is an offline simple, modern & material-designed educational Android application for kids. It contains basic facts with visual

May 16, 2022

Android Data Managment System Android UI - Kotlin- Firebase

Android Data Managment System Android UI - Kotlin- Firebase

DataManagmentSystem Data Managment System Android UI - Kotlin- Firebase Android Data Managment System App Design And Kotlin with Firebase The project

Jan 29, 2022

Trawler - Trawler is a BaaS system. Backend as a service

Trawler is a BaaS system. Backend as a service. BaaS Generate REST and GraphQL f

Feb 9, 2022

Sushi Design System - UI Kit for Android apps

Sushi Design System - UI Kit for Android apps

Sushi Design System ⚡️ Android UI Kit ⚡️ Application is available here: Latest release: Usage The master branch is being used for release and dev is t

Mar 28, 2022
This project is basically PowerNukkit but just in Kotlin (check out the original PowerNukkit source here: https://github.com/PowerNukkit/PowerNukkit)
This project is basically PowerNukkit but just in Kotlin (check out the original PowerNukkit source here: https://github.com/PowerNukkit/PowerNukkit)

Introduction Nukkit is nuclear-powered server software for Minecraft: Pocket Edition. It has a few key advantages over other server software: Written

Jul 7, 2021
A custom view for rating which easy to make and use, but function is excellent
A custom view for rating which easy to make and use, but function is excellent

QRatingView A custom view for rating which easy to make and use, but function is excellent Effect Picture Properties <declare-styleable name="QRat

Dec 3, 2021
Feb 6, 2022
Easy app for managing your files without ads, respecting your privacy & security
Easy app for managing your files without ads, respecting your privacy & security

Simple File Manager Can also be used for browsing root files and SD card content. You can easily rename, copy, move, delete and share anything you wis

Jun 16, 2022
The source files to the prototype app for the TomTom n.EXT Hackathon

nEXT-Hackathon2021 The source files to the prototype app for the TomTom n.EXT Hackathon. We are team MoTomized from Codam Coding College attempting to

Nov 11, 2021
A server which delivers the game cache files to an end-user.

RuneTopic Js5 Server A server which delivers the game cache files to an end-user. Setup Guide You can host a js5 server with Docker or with your local

Dec 1, 2021
These files are included in an Android Studio Project for a Magic the Gathering Life Counter app. The app was written in Kotlin.
These files are included in an Android Studio Project for a Magic the Gathering Life Counter app. The app was written in Kotlin.

Magic-Life-Counter These files were created in Android Studio using Kotlin. Usage This app was made to keep track of life totals while playing the tra

Dec 24, 2021
Gradle plugin which allows to use typed DSL for generating kubernetes/openshift YAML files

gr8s Gradle plugin which allows using typed DSL for generating kubernetes/openshift YAML files. Based on kuberig Usage import io.github.guai.gr8s.Gene

Jan 3, 2022
Kotlin script to prevent invalid conversion errors in projects with many localization files

Localization-Patterns-Checker Kotlin script to prevent invalid conversion errors

Dec 26, 2021
Tiny library to ease the use of environment variables with support for .env files

asimov/environment Tiny library to ease the use of environment variables with support for .env files. Installation Gradle (Kotlin) repositories {

Jan 8, 2022