WEB & API

Inventory management with a history

A Django application for managing products through a web dashboard and REST API, with snapshots of product changes.

Making the current state and its history visible

The application treats inventory as both a current product record and a sequence of changes. A dashboard supports day-to-day product management, while a REST API exposes the same general domain for programmatic use.

Product records and version records have separate roles: one describes the inventory now, and the other preserves snapshots of earlier states. Showing stock, price, modifying user, and timestamps together makes it possible to inspect what changed instead of relying only on the latest value.

The work

Implemented account registration and login, product CRUD operations, and relational product and version models. The dashboard and API expose product details and version history.

The output

A product history view that records versions, stock, price, the modifying user, and timestamps—making changes visible alongside current inventory.

View code on GitHub ↗
Original inventory dashboard displaying a sample USB-C Dock product.
The original dashboard combines an add-product form with current stock, price, and modification details. The USB-C Dock and demo account are synthetic.

See product history in action

Enter a whole-number stock quantity and select Save version. Each save adds a numbered row so you can compare changes over time; try saving 24 and then 18. This simplified browser example uses synthetic data and lasts only until you reload or leave. The Django application’s original screens on this page show the fuller interface, including additional product fields.

Sample product history
VersionQuantity
018
Product history showing stock changing from 24 to 18 across two sample versions.
Two synthetic product snapshots show stock changing from 24 to 18. The history preserves earlier states alongside the current product.
All projects