Skip to main content
Theme
Language
Back
EduAssets Banner
FULL STACK

eduAssets

eduAssets is a school equipment management system I built while working at PROATI to digitize the control of loans, returns and incidents. It now tracks all 192 devices at a public school in Pindamonhangaba and has handled over 66 tickets.

The Problem

School environments often rely on spreadsheets or manual logs to track IT equipment — laptops, projectors, tablets. This leads to lost assets, unclear responsibility, and time-consuming audits.

I wanted to build something that actually solved this, not just demonstrate CRUD operations.

Real-World Use

The reports generated by the system are used every week to declare inventory to inspectors and agents of the State of São Paulo. The project runs in production and is maintained with frequent deployments through CI/CD.

Architecture

The frontend is feature-first: each feature (assets, loans, users) has its own directory with its components, services, and types. The API uses Express 5 with Prisma as the ORM and Zod for runtime validation, deployed on an Oracle Cloud VPS behind Nginx in a Docker container.

Access and Security

The API is the security boundary. Access is split into Guest (read-only), Editor and Administrator roles, with write permissions enforced on the backend. In the browser, sessions use HttpOnly cookies only, and state-changing requests require a trusted Origin.

What I Learned

This project taught me to plan an architecture before writing code. Making early decisions — like the feature-first structure and the clear separation between frontend and API — prevented costly refactors throughout development.