Skip to content

Repository files navigation

ShopEase — Angular Signals in Practice

A minimal eCommerce app built specifically to explore and demonstrate Angular Signals in a realistic, production-like context — not just toy examples.

Screenshots

Shop page Cart page

Why I built this

Most Signal tutorials use counters and todo lists. This app forces Signal thinking across a real domain — products, filters, cart, inventory — where state ownership, derived state, and cross-component reactivity actually matter.

Signal patterns demonstrated

  • signal() — writable state for cart items, search query, selected filters
  • computed() — derived state for filtered products, cart totals, available sizes and colors
  • linkedSignal() — filter state that resets automatically when the product list changes
  • effect() — persisting cart state to localStorage reactively
  • toSignal() — bridging RxJS HTTP observables into the Signal architecture
  • input() / input.required() — signal-based component inputs
  • computed() from input() — child components that derive reactive state from their inputs

Tech Stack

  • Angular 21
  • Tailwind CSS v4

Getting Started

npm install
ng serve

Live Demo

View Live App

Releases

Packages

Contributors

Languages