SHOPPING LIST API

image
Back to project list
NestjsTypeORMSwaggerRailway
Project Overview

A REST API backend for a Shopping List website. Users can create shopping lists, add/update/remove items, mark items as bought, and view lists with their items. The API includes interactive documentation via Swagger.

Tech Stack
  • Backend: NestJS (modular architecture with controllers + services), TypeORM (ORM), PostgreSQL (database)
  • API Docs: Swagger (/docs, protected with Basic Auth on deployment)
  • Config: Environment-based configuration with validation, deployed on Railway
Features
  • Shopping Lists CRUD: create, view all, view one (with items), update, delete
  • Shopping Items management: add items to a list, update item fields (checked required; quantity/unit optional with defaults), delete items
  • Relational data model: one-to-many (ShoppingList → ShoppingItem) with explicit Foreign Key (listId), indexing for fast lookups, cascade delete for cleanup