← The OurPass work04 / OURPASS · CONTRIBUTION

Retrieving and updating product information.

Keep product information aligned with everyday business activity.

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 retrieval, update, and deletion operations. Partial updates let the caller change supplied fields, and the service included record-ownership checks around those operations.

THE IDEA, ILLUSTRATED

Give a product a useful record

BUSINESS INVENTORY · A STRUCTURED PRODUCT RECORD
Inventory · Product details
01
PRODUCT RECORD

Desk lamp

Draft
Sale price45.00
Cost28.00

One record also holds its name, category, item type, and publication status.

NestJS endpointTypeORMPostgreSQL
Product details become structured fields a business can retrieve and update.
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.
State management
Represent what is happening now and define which changes are valid next.
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.Filtering the inventory catalogueI 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.