← The OurPass work04 / OURPASS · CONTRIBUTION

Filtering the inventory catalogue.

Help people find the records that need attention.

Where this work fits

Inventory work needed more than a product name. Price, quantity, category, availability, and publication status described different things, and users needed to create, find, and update those records.

MY CONTRIBUTION

I built inventory filtering by product name, category, item type, and publication status. The query combined the supplied filters, allowing users to narrow the records returned without filling every search field.

THE IDEA, ILLUSTRATED

Find the records that need attention

CATALOGUE FILTERING · A SMALLER, USEFUL VIEW
ProductQty.Status
Desk lampIn Stock
12Published
Reading lampLimited Stock
4Draft
Floor lampPre-Order
0Published
3 of 3 products
Filters combine: choose a status and an exact name to narrow the records. The backend also supports category and item-type filters.
THE ENGINEERING DECISION

An unpublished product is not an out-of-stock product.

I kept publication and availability as separate fields rather than compressing them into one status. Create and update requests shared validation rules, while partial updates let a user change a field without resubmitting the entire record.

The skills behind the work

TypeORM
Work with relational records through typed queries and repository operations.
Query filtering
Narrow records to the information a person is trying to find.
PostgreSQL
Store relational records and protect related updates with database transactions.
THE WIDER RESULT

The inventory services supported structured product entry, filtered retrieval, and updates. Businesses could manage those details through defined API operations.

READ THIS IN CONTEXTI built APIs for the details a business manages every day. →
Related contributionsStructured product recordsI contributed product-record APIs using NestJS, TypeORM, and PostgreSQL. The records kept price, quantity, category, availability, and publication status distinct, so updates could describe what had actually changed about a product.Validation shared by create and update requestsI added validation for product inputs, including numeric and category fields. Update requests reused those rules while allowing partial changes. Invalid field types could be rejected before persistence, with feedback the caller could act on.Retrieving and updating product informationI built inventory retrieval, update, and deletion operations. Partial updates let the caller change supplied fields, and the service included record-ownership checks around those operations.