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