Digital Garage App Icon

Digital Garage

A full-stack platform for managing group-based digital marketing projects in the Comunicazione e Marketing Digitale course at the University of Camerino. I co-developed the initial version with two other students, then took over the project solo to handle its deployment, scaling, and long-term maintenance.

University Course Platform 🎓 50+ Students / Semester 2+ Years Available Featured Article Visit Website
Digital Garage Dashboard

What It Is

Digital Garage was built for a course where teams run digital marketing campaigns and present a final project for their exam. The platform handles everything from group formation to the final delivery, giving students and instructors one place to manage assignments, deadlines, materials, and peer reviews.

The project started in 2023, but it quickly grew beyond a simple class assignment. It became a live system used by over 50 students every semester to collaborate on their work.

I handled the whole stack: frontend, backend, database design, and the production server setup.

The Context

Before Digital Garage, the course relied on Google Drive folders and email threads. This worked for a while, but it got messy as groups, deadlines, and project materials piled up over the semester.

We weren't trying to build a generic academic tool. The platform was designed around the specific rhythm of the course: teams move through phases, instructors release assignments at certain times, and students upload deliverables for peer review.

We spent weeks testing prototypes and talking to the professors (the actual "clients") to make sure the tool matched how they actually wanted to run the class. The goal was to make the course easier to manage without adding extra friction for students who were already busy with their creative work and presentations.

My Role

While the app started as a team project for a university course, I took the lead in turning it into a production system. I've been the sole maintainer since it went live, managing everything from server updates to database tuning.

I built the Angular frontend and NestJS backend, set up the MySQL database with Prisma, and handled the deployment on a Linux server. Over two academic years, I made sure the platform was always available for the students using it. This meant managing release cycles, backups, and infrastructure changes without disrupting active coursework.

In April 2026, I officially handed over the codebase to the professors' company. While building the first version was a great start, the real challenge was keeping the system reliable and adapting it as the course evolved.

How It Is Built

Digital Garage uses a standard stack: Angular and TypeScript on the frontend, NestJS for the API, MySQL with Prisma for the database layer, and PM2-managed processes on a Linux VPS.

The first prototype used plain Express.js APIs and no ORM. When it became a live service, I refactored the code to use NestJS and Prisma so it would be easier to maintain and scale. I chose a practical architecture that was easy to manage, which was important since the site was serving real students. I automated the deployment and set up structured logging and backups from the start.

This setup allowed the platform to grow safely. We could deploy updates without downtime and restart processes predictably if anything went wrong.

Recognition

Kapusons, the company connected to the educational experience behind the course, later published an article about Digital Garage and its role in supporting the business game workflow.

Read the article on Kapusons.

What I Learned

This project showed me how much the practical side of engineering matters: things like deployment discipline, clear documentation, and making decisions that are still easy to understand months later.

Building an app is one challenge, but keeping it running through deadlines and semesters of actual use is where you really learn what makes a good architecture.