# CQP Demo - Angular Conversion Notes

## Overview
This application has been successfully converted from a Cordova/Knockout.js application to a modern Angular application.

## Converted Components

### Main Components
- **Landing Component** (`/`) - Main portal selection page
- **New User Component** (`/new-user`) - New user payment notification
- **Existing User Component** (`/existing-user`) - Existing user payment notification

### User Flow Components
- **Signup Component** (`/signup`) - Welcome page for new users
- **Signup Form Component** (`/signup-form`) - Account creation form
- **Login Component** (`/login`) - User authentication page
- **Dashboard Component** (`/dashboard`) - Main user dashboard with pending payments
- **Bank Accounts Component** (`/bank-accounts`) - Bank account management
- **Payment History Component** (`/payment-history`) - Transaction history

### Claim Portals
- **Auto Claim Component** (`/auto-claim`) - Auto insurance claim portal
- **Home Claim Component** (`/home-claim`) - Home insurance claim portal

## Architecture Changes

### From Cordova to Angular
- Removed Cordova-specific configurations
- Converted to standalone Angular components
- Implemented Angular Router for navigation

### From Knockout.js to Angular
- Replaced Knockout.js data-bind with Angular directives
- Replaced Pager.js routing with Angular Router
- Converted jQuery-based interactions to Angular component methods

### Technology Stack
- **Framework**: Angular 21.x
- **Styling**: Bootstrap 3.3.7 (via CDN)
- **Router**: Angular Router with standalone components
- **Build Tool**: Angular CLI with esbuild

## Project Structure
```
src/
├── app/
│   ├── components/
│   │   ├── landing/
│   │   ├── new-user/
│   │   ├── existing-user/
│   │   ├── signup/
│   │   ├── signup-form/
│   │   ├── login/
│   │   ├── dashboard/
│   │   ├── bank-accounts/
│   │   ├── payment-history/
│   │   ├── auto-claim/
│   │   └── home-claim/
│   ├── app.routes.ts
│   ├── app.ts
│   └── app.html
├── styles.css (global styles)
└── index.html
```

## Running the Application

### Development Server
```bash
npm install
ng serve
```
Visit `http://localhost:4200`

### Production Build
```bash
ng build
```

### Alternative Port
```bash
ng serve --port 4201
```

## Navigation Flow

1. **Landing Page** → Select New User or Existing User
2. **New User Path**: 
   - New User Email → Signup Welcome → Signup Form → Dashboard
3. **Existing User Path**: 
   - Existing User Email → Login → Dashboard
4. **Dashboard**: Access to Payment History and Bank Accounts

## Assets
All original assets (CSS, images, fonts, logos) have been migrated to the `public/assets/` directory.

## Features Preserved
- Payment notification displays
- User authentication flow
- Account creation process
- Dashboard with pending payments
- Bank account management
- Payment history tracking
- Auto and home claim portals

## Next Steps
To fully complete the conversion:
1. Implement form validation
2. Add API integration for backend services
3. Implement actual authentication logic
4. Add state management (e.g., NgRx) if needed
5. Convert remaining HTML pages from www/page directories
6. Add unit tests for components
7. Implement responsive design improvements
8. Add error handling and user feedback

## Notes
- Bootstrap 3 is loaded via CDN in index.html
- All components are standalone (no NgModule required)
- Server-side rendering (SSR) is enabled
- The application uses signals for reactive state management where appropriate
