Zmanger

Utility SaaS application for studying at ETF

https://zmanger.bakircinjarevic.com

Technologies

Next

Next

Tailwind

Tailwind

TypeScript

TypeScript

Judge0

Judge0

tRPC

tRPC

DigitalOcean

DigitalOcean

Docker

Docker

Features

Runtime code execution

Subscribed users can run their code against autotests defined by the admin or moderators

Role based auth

Admin assigns roles, moderator adds tests, subscribed users can test their code

Load balancing

At one point, load balancing was required to keep up with traffic

Clean architecture

Inspired by uncle Bob, this project has been developed with the future in mind

Description

Zmanger started as a centralized place for offers to exchange the times at which students had laboratory classes.

Often, the system at ETF for checking if your homework is correct via autotests didn't work at all, or was slow at times. That was when I looked up how to make a runtime code execution tool.

The first version of the RCE was written in Go, but with how I designed it, it was slow, but it did the job. So in the meantime I tried to speed it up. After failing every single time I tried, I revisited the idea of finding a free RCE online.

That was when I found Judge0, which was an open-source RCE written in Ruby. After seeing how it was much faster than my solution, the problem now was how to host it. This was a great opportunity for me to learn Docker and setup my own VPS instance on DigitalOcean.

Zmanger now has 125+ logged in users, with around 35 that are active (when there is homework to be done).