← The OurPass work04 / OURPASS · CONTRIBUTION

Structured product records.

Give businesses structured product information they can use.

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 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.

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.

A product can be published but out of stock, or available but not yet published. Each status answers a different question.

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

NestJS
Organize backend endpoints, validation, and services around product responsibilities.
TypeORM
Work with relational records through typed queries and repository operations.
Data modeling
Give different product concepts clear records and relationships so updates have predictable meaning.
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 contributionsValidation 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.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.