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
quick note on this bit; as i dont want to set up/manage a real postgres db for development, nor do i want to pay AWS for storage just yet, embedded DBs are super handy, and with clever mocking of provider interfaces you can get away w/ swapping things out
---
RT @pee_zombie
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 cu…
https://twitter.com/pee_zombie/status/1448502426902962179
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
https://github.com/pee-zombie/memetiq/blob/be5b972f9fae82522aeed39ae08de0e2d3e04506/app/src/main/java/systems/memetic/memetiq/MemetiqApplication.java#L30