University Ranking Backend: Code Deep Dive (Part 1)

In this post, we will dive deep into the code structure of the University Ranking Backend. We’ll explore the entry point of the application and the core logic that powers the university search and filtering system. 🏗️ High-Level Overview The backend follows a standard Model-View-Controller (MVC) pattern (where the “View” is JSON output). app.py: The entry point that initializes the app and registers routes. routes/: Handles HTTP requests, parses parameters, and delegates logic to models. models/: Contains the business logic and database interactions. db/: Manages the SQLite database connection. 1. The Entry Point: app.py This file is the heart of the application. It sets up the Flask server, configures security, and connects all the moving parts. ...

December 7, 2025

University Ranking Backend: Code Deep Dive (Part 2)

In Part 1, we explored the core search logic and API structure. In this second part, we’ll dig into the Data Layer—how data is normalized, stored, and retrieved in detail. We’ll also look at the utility scripts that power the backend’s intelligence. 1. The Data “Glue”: utils/normalize_name.py One of the biggest challenges in aggregating data from multiple sources (QS, US News, Niche) is that they all name universities differently. “MIT” might be “Massachusetts Institute of Technology” in one dataset and “Mass Inst of Tech” in another. ...

December 7, 2025