Case study · IIT Kharagpur

SWAN Lab Inventory & Asset System

A component request, approval and return system for the SWAN Lab at IIT Kharagpur. Students request components, admins approve and verify returns, and every movement is logged. It is designed to run on a single lab machine with no internet access.

Students
20+
Delivered
Admin + student web app
Deployment
Offline lab intranet
Context
Research Intern, IIT Kharagpur

Overview

I built the SWAN Lab inventory system while working as a Research Intern at IIT Kharagpur, and it is now used by 20+ students. Students request components, admins approve and verify returns, and every movement is logged.

Request lifecycle

Request→Approval→Stock deduction→Verified return

Each step re-checks stock.

Features

  • Physical layout: locations, racks and boxes, so every item has an exact shelf path.
  • Data safety: SQLite in WAL mode with integrity-checked automatic backups.
  • Accountability: an activity log, notifications, and an audit trail of every Excel export.
  • Role-based access for admins and students.

Built for an offline lab

The system is designed to run on a single lab machine with no internet access: Django served by Gunicorn under systemd, with static files handled by WhiteNoise and data in SQLite.

Quality

Automated tests cover accounts, inventory and transactions.

Tech stack

Django 5.2 LTSSQLite · WALGunicornsystemdWhiteNoiseopenpyxlRole-based access

The source is a private repository. I am happy to walk through the architecture and code in an interview.

Let's build something dependable.

I'm Ahasan Habib Parvej, a Python and Django backend engineer open to full-time roles in India or remote.