
Tech Track Final Project (2023)
I spent the first half of my year in Israel studying in a beginner full-stack course where we learned the basics of programming (mainly in python) from the ground up. In addition to the 10 days of sleepless nights I spent building it, my final project represents the outcome of over four months of hard work and dedication to learning something new.

Landing Page

View Students

Admin Editor

Landing Page
01
School Management System
I found myself being interested in the interactions programs have with their dedicated databases. So, for my final project I decided to explore the less glamorous backend interactions that power all of our most useful apps, manifested in a school management system.
02
Programming
I used Flask in Python for backend logic, Jinja2 for creating dynamic web page templates, and SQLAlchemy for ORM to connect my application to a PostgreSQL database, which I managed using pgAdmin.

Database Methods

Database Configuration

Serverside Logic

Database Methods

03
Final Outcome
The program has two layers: regular interactions and admin interactions. Assigned during signup, regular users only have access to the basic viewing functions of the program — essentially, they can only see things like student, teacher, and class profiles, as well as enrollments and other student/faculty data. Admins level up significantly. With their (almost) omnipotent CRUD powers, they can update virtually any data in the system.
04
Reflection
After more than 60 not-so-fun hours over ten days, I was finally able to showcase my final product. Although it definitely has its quirks, I think it's effective at the what it's meant to do. After about a few thousand lines of code, I feel like I can walk away feeling confident in my foundational back-end database abilities.
