gfirm.dev
Home
Project · 2025

The paperwork that stopped getting lost along the way.

End-to-end management system. Thesis project.

Context

The Instrumento A is a mandatory academic document at the Facultad de Ingeniería (UNMDP) that describes each course and needs institutional approval every year. Until then, that process lived in paperwork and loose spreadsheets. G.I.A. digitizes it end to end: creation, validation and management.

Decisions

We worked as a team of three, with defined roles and an agile methodology (Kanban, Git with branch management). The backend is a REST API in Laravel with an OOP approach, with a separate WebSocket server for real-time notifications, on top of MariaDB. The frontend is Next.js with strict TypeScript, role-based dashboards and PDF export. Everything runs containerized with Docker, deployed at the Facultad de Ingeniería.

My role

Backend and infrastructure, with a focus on quality. I defined the data model and its normalization (8 entities) for a 4-state approval flow across 5 roles. I set the project's testing strategy: 165+ tests across 27 files with Pest PHP, combining unit tests on models and service classes with end-to-end integration tests covering every flow. I contributed to the WebSocket service and validated it end to end. The Next.js frontend was handled by another team member.

Result

A system deployed at the Facultad de Ingeniería and entering use, built for over 100 concurrent users. It was our final degree project, treated with standards close to those of a professional environment.

Traceability

An example of how I trace each requirement to the test case that verifies it.

Requirements
R1 · Instrument history per course
R2 · Creation only within the enabled period
R3 · Department director role assignment
Test cases
T-01 Lists the instrument history per course
T-02 Rejects creation outside the enabled dates
T-03 Only one director gets assigned per department