# Jomblo Tech Stack

The core foundation of the Jomblo ecosystem.

## Primary Frameworks
- **Web**: Next.js 15 (App Router, TypeScript)
- **Styling**: Vanilla CSS (Flex/Grid) + `shadcn/ui` (Tailwind-based components)
- **UI Design**: `uncodixfy` (Clean, premium aesthetics)

## Persistence Layer
- **Primary Database**: PostgreSQL (via `pg` driver)
- **Caching/State**: Redis (via `redis` client)
- **Data Access Strategy**: **Cache-First (Read-Aside)** pattern mandatory for performance.
- **Cache Consistency**: Version-aware updates using Lua scripts to prevent race conditions.
- **Architecture**: **Repository Pattern** is mandatory. No raw SQL in Server Actions.

## Verification & Testing
- **Validation**: Zod (Action and Repository boundaries)
- **Testing**: Vitest (Integration) + Playwright (E2E)
- **Style**: **Anti-Mocking**. Real data preference.

## Resiliency
- **Automatic Recovery**: Built-in retry logic for Server Actions to handle intermittent technical failures.
- **Idempotency**: All critical side-effect operations (Payments, Order Creation) MUST use idempotency keys to prevent duplicate processing.
- **Atomic Multi-System Sync**: Mandatory logical atomicity for cross-system updates (e.g., PostgreSQL + Redis). Failures in side effects trigger primary database rollbacks.

## Security & Privacy
- **PII Redaction**: Strict automated masking of Personally Identifiable Information (email, phone, addresses) in all application logs using `sanitizeError` and `redactPii` utilities.

## Resource Budgets
- **Build**: Zero errors (`tsc`, `pnpm build`)
- **Coverage**: 100% mandatory
- **Response Time**: < 200ms for critical API endpoints
