pedro/projects/smartcampus
SmartCampus
Student assistant: a Telegram bot with AI and OCR, Canvas integration, on-campus location via Wi-Fi, and a REST API in Java with Spring Boot.
Context
SmartCampus is the project for the IoT II course at PUC Minas, built as a pair with Gabriel Batista de Almeida and advised by Prof. Mario Guimarães Buratto.
Problem
A student's routine is scattered across many places: the classroom whiteboard, Canvas with the assignments, the campus map. The idea was to bring all of that together in an assistant that lives where the student already is.
Solution
- Telegram bot with AI and OCR: a photo of the whiteboard becomes a note.
- Integration with the Canvas API, the learning management system.
- Location by building, floor, and room when the phone connects to the campus Wi-Fi.
- Web dashboard to keep track of everything.
In Sprint 2, the back end became a REST API in Java 21 with Spring Boot:
- authentication with JWT;
- PostgreSQL on Docker, with versioned migrations;
- isolation between users and RBAC with an approval flow;
- rate limiting.
Outcome and lessons learned
SmartCampus brings together both ends of my career: devices and networking on one side, a web API on the other. Security shows up in several layers of Sprint 2: authentication, isolation between users, roles with approval, and usage limits.