Introduction
This project was part of my third year at the University of Puerto Rico – Arecibo and served as my final project before graduating. It originally began as a 5-person team effort but later split into two smaller groups. My team focused mainly on the counselor side of the system, with some contributions to the student and admin sections as well. It turned out to be one of the most valuable learning experiences I’ve had during my time at the university.
What is this app for?
The app was built for the Programa de Servicios Educativos (PSE) at UPR Arecibo. Its goal is to help counselors manage and schedule student appointments through a simple digital interface, replacing the long-standing reliance on paperwork. By digitizing the process, the app saves time, reduces errors, and makes student-counselor interactions more efficient.
Things I Learned
Working on this project gave me the chance to dive deeper into technologies I had only scratched the surface of before. Some highlights include:
- Docker Compose: Learned to write custom Dockerfiles and containerize the app, making deployment easier and avoiding manual dependency setup.
- Python: Gained a much deeper understanding of Python by working on a large-scale project instead of small exercises.
- HTML & Jinja Templating: Used Jinja templates to speed up page creation and maintain a consistent design.
- Celery: Implemented asynchronous tasks, such as scheduling emails to be sent automatically at specific times.
- Flask: Expanded my knowledge of Flask, exploring patterns like the Application Factory.
- MVC Pattern: Worked extensively on the Model layer, which I found especially rewarding since it involved data manipulation and structuring.