MemeApi - C# backend

C# SQL Graphics

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.

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.