
MemeApi - C# backend
Summary
MemeApi is a re-write of the backend for MemeSite, a site for generating random memes using components from user-submitted content. Users can upload memes in three parts: a picture, top text, and bottom text. These components are stored in a PostgreSQL database.
MemeApi is built with ASP.Net, EF-Core, and PostgreSQL, with additional features like a dicord webhook, and mailing service where daily content is posted. Along with these features, i also expanded the backend to include topics, moderations tools and other minor features.
Insights
At my day job, I work on a platform where much of the plumbing and infrastructure is pre-handled. So one of the main motivators for the project was to give myself an opportunity to make my own architectural decisions and gain hands-on experience with setting up the entire backend infrastructure from scratch. I learned valuable lessons about database management, integrating frontend and backend, migrations, secrets, deployment pipelines etc. This hands-on experience has helped solidify my understanding of full-stack development and devops principals.
Links
The projects code can be found here.
Extras
I also made an integration with a minecraft mod called computercraft where a meme from the site would be rendered in game on some monitors:

This integration was written in lua on the in game terminal, and i was unfortunate enough to lose this world, so the code is lost to time.