Scott
Github Repository

Project Description:

A small demo storefront built for learning and demos. Demonstrates AI assistant, client-side caching, dynamic form generation, product, shopping cart, and checkout flows. Leverages server-side rendering, signals, routes, services, states, client-side caching, and dynamic forms as a service driven by schemas, where data is returned as models. Styled using Tailwind CSS and DaisyUI.

Services:

ai-service.ts: Provides AI assistant functionalities such as searching the database and recommendations.

product-service.ts: Fetches and manages product data from the backend API (list, detail, search).

cart-service.ts: Manages shopping cart state, adds/removes items, and performs cart calculations.

image-service.ts: Handles image uploads, retrieval, and transformations for product images.

filter-service.ts: Provides product filtering and search helpers used across components.

storage-service.ts: Abstracts local/session storage usage for persisting user state.

dynamic-form-service.ts: Provides dynamic creation of forms and the return of values.

Stores:

ai-conversation.store.ts: Maintains conversational state for AI features and persists conversation history.

product.store.ts: Client-side store for product collections, caching, and reactive updates.

image.store.ts: Store for caching image metadata and in-memory image state used by UI components.

Prerequisites:

Accessibility to the backend API project (Sales.Api).