> ## Documentation Index
> Fetch the complete documentation index at: https://docs.laportenard.com/llms.txt
> Use this file to discover all available pages before exploring further.

# Introduction

> Internal developer documentation for the Sirvo POS restaurant system.

Sirvo POS is a restaurant point-of-sale system built as a monorepo with a Next.js frontend packaged as a Tauri desktop app and an Odoo 12 Python backend providing the JSON API.

## Key capabilities

* Table-based order management with floor plan UI
* Kitchen status tracking (open → sent → changed → paid)
* User role controls (manager, cashier, waiter)
* Dominican tax integration (NCF/DGII)
* Real-time sync via WebSocket hub
* Offline-first with IndexedDB persistence

## Tech stack

<CardGroup cols={2}>
  <Card title="Frontend" icon="browser">
    Next.js 16, React 19, TypeScript, Tauri, XState, Dexie, Radix UI, Tailwind v4
  </Card>

  <Card title="Backend" icon="server">
    Odoo 12 (Python), PostgreSQL, JWT auth
  </Card>

  <Card title="Sync hub" icon="arrows-rotate">
    Node.js, WebSocket, SQLite (WAL mode)
  </Card>

  <Card title="Desktop" icon="desktop">
    Tauri (Rust) wrapping the Next.js static export
  </Card>
</CardGroup>

## Repository modules

| Module                  | Description                                           |
| ----------------------- | ----------------------------------------------------- |
| `nu_pos_react/`         | Frontend — Next.js 16 app with Tauri shell            |
| `nu_restaurant_pos/`    | Odoo 12 addon — JSON API, POS models, accounting      |
| `nu_pos_voids/`         | Void system with configurable reasons and audit trail |
| `nu_pos_side_dishes/`   | Side dishes / modifiers feature                       |
| `nu_pos_sync_protocol/` | Shared sync protocol — Zod-validated message types    |
| `nu_pos_hub/`           | Sync hub — WebSocket broker with SQLite               |
