Selected work · Active development

Hostel Management Flask application

A backend-focused hostel management application built to practice and demonstrate relational data modelling, authentication, CRUD workflows, migrations and automated testing.

Project context

A practical Flask application built around real relational workflows.

The application models common hostel operations including students, blocks, rooms, room allocations, complaints, fees, payments and attendance.

The project is currently an active development and learning project rather than a claimed production deployment. The case study focuses on implemented engineering work that can be verified in the repository.

What I built

Backend functionality with explicit data rules.

01

Authentication & account recovery

Admin and student authentication plus a password-reset flow using cryptographically random, hashed, expiring and single-use reset tokens.

02

Relational database design

SQLAlchemy models use foreign keys, uniqueness constraints, domain checks and indexes. Repeated business values were moved into normalized master-data tables.

03

CRUD & business workflows

Implemented workflows cover students, blocks, rooms, room allocation history, complaints, fees, payments, attendance, geofences and normalized master data.

04

Attendance with geofencing

Student check-in uses latitude, longitude and reported accuracy. The server validates the active geofence, GPS accuracy, time window, student status and duplicate attendance.

05

Migrations & deployment preparation

Alembic is the schema authority. The project supports SQLite for local development and PostgreSQL for Vercel/production, with migration configuration for deployment.

06

Testing & code quality

The repository documents 12 passing tests, 76% total application statement coverage, successful migration checks and Ruff validation from its completion review.

Technical stack

Python backend technologies I am actively developing with.

Application: Python 3.12, Flask 3.1, Flask-Login, Flask-WTF and Flask-Migrate.

Data: SQLAlchemy 2, SQLite for local development, PostgreSQL for production, and Psycopg 3.

Workflow: Alembic migrations, Pytest, coverage, Ruff, MyPy, uv and Git/GitHub.

Read the repository completion review ↗

Engineering lessons

Where the project strengthened my backend fundamentals.

The project moved beyond basic CRUD by making database integrity part of the application design: foreign-key relationships, constrained domain values, allocation lifecycle rules, duplicate-attendance protection and normalized lookup data.

It also reinforced the difference between local and serverless persistence: SQLite is useful for local development, while a hosted application needs durable PostgreSQL storage.

I am continuing to improve the application rather than presenting it as a finished enterprise product.