Book List — Facts

Overview

Standalone component BookListComponent (route /books, the app’s default). Renders the whole catalog as a card grid with a live search box + genre <select>, plus a per-card Add to cart.

Component tree

BookListComponent → per-book <article.card> with a routerLink to /books/:id. No child components (flat template). Uses CurrencyPipe + RouterLink.

Data flow

Routes & params

/books — no params. Default route ('' → books).

Key files

RoleFile
Componentapp/src/app/pages/book-list/book-list.component.ts
Template…/book-list.component.html
Styles…/book-list.component.scss
Dataapp/src/app/services/book.service.ts
Modelapp/src/app/models/book.ts

Gotchas

[[book-detail]] (card links to it) · [[cart-checkout]] (shares CartService).