been working on & off on this & in the interests of "building in public" may start sharing details as I go here, feel free to mute this thread if ur not interested in the boring technical stuff
this project started from a problem i have constantly; finding the best reaction meme
---
RT @pee_zombie
@vgr building a meme (funny picture) cataloging system with hierarchical taxonomy, support for crowdsourced classification, for the purpose …
https://twitter.com/pee_zombie/status/1440420947048108035
i figured my "process" had quite a few inefficiencies, and that i already mentally sort memes into various non-exclusive overlapping categories; i'd also put some thought into how these categories can be abstracted and recombined to model the meme space
---
RT @pee_zombie
@deepfates @vgr tldr by examining the components of many memes we can extract common elements, find useful abstractions around them, fit them into a taxonomic structu…
https://twitter.com/pee_zombie/status/1440432195009597446
anyway so after a bit of work i have a basic prototype for uploading memes working; i'm able to create, read & delete them thru a RESTful API
contrary to the QT currently working entirely locally, using in-memory DBs for each component, H2 and s3mock
---
RT @pee_zombie
@deepfates tldr I'm using a postgres RDS instance for metadata and S3 for object storage, with a simple java app serving an api for uploading and tagging memes
https://twitter.com/pee_zombie/status/1442535557054308354
still got tons more to do b4 this can even be called a prototype; none of the tagging capability is built yet! i'll be updating this thread as I add more stuff, feel free to ask questions if you're so inclined
& if you wanna follow along here's the repo
fair warning there is exactly 0 documentation; however this is a pretty standard spring boot app so if you've seen one of those you should be able to find ur way around
here's something i did just now, implemented deleting media; small but important
https://github.com/pee-zombie/memetiq/commit/4179c159d30f1130446c54114f764efb746679be
H2 is a java in-memory RDBMS which runs right in your application
s3mock hosts an s3-compatible object storage server also right in your app
you can see here how i'm swapping out the ObjectStorageProvider implementation depending on the app configuration
this allows me to have something that works just like S3 to develop against, and i'll be able to just re-point it at S3 (or another provider, like Wasabi, which i'm using for my masto server incidentally) with basically 0 hassle