HOST Svelte Themes

Host

Enterprise POS system for hospitality - 701 tests, 99.93% coverage. Svelte 5, tRPC, Turso

HOST POS System

Modern Point-of-Sale System for Bars & Restaurants


πŸš€ Quick Start

# Clone and setup
git clone https://github.com/Ardigi/HOST.git
cd host

# Quick setup (Windows PowerShell)
.\scripts\dev-setup.ps1

# Or manual setup
npm install
cp .env.example .env.local
npm run db:migrate
npm run dev

Quick Links:


πŸ“‹ Table of Contents


🎯 About

HOST is a modern, fast, and user-friendly Point-of-Sale system designed specifically for bars and restaurants. Built with cutting-edge technologies and a focus on performance, accessibility, and developer experience.

πŸ“Έ Screenshots

Coming soon - UI screenshots will be added as components are completed

Key Highlights

  • ⚑ Blazing Fast: Sub-400ms response times, sub-10ms database reads
  • 🎨 Beautiful UI: WCAG 2.1 AA compliant, optimized for touch
  • 🌐 Edge-Powered: Global deployment with Turso edge database
  • πŸ§ͺ Test-Driven: 85%+ test coverage, comprehensive TDD approach
  • πŸ”’ Secure: PCI-compliant payment processing, enterprise-grade auth
  • πŸ“± Offline-First: Progressive Web App with offline capabilities

✨ Features

Core Features

  • 🧾 Order Management: Create, modify, split checks, and track orders
  • πŸ’³ Payment Processing: Card, cash, multiple payment methods (Stripe)
  • πŸ“‹ Menu Management: Dynamic menus with categories, modifiers, pricing
  • πŸ‘₯ Staff Management: Role-based access control, shift tracking
  • πŸ“Š Inventory Tracking: Real-time stock levels, cost calculator
  • πŸ“ˆ Reporting: Sales, labor, inventory reports and analytics
  • 🍳 Kitchen Display: Real-time order updates for kitchen staff
  • πŸ‘” Admin Dashboard: Comprehensive business management tools

Advanced Features (Planned)

  • πŸ”„ Multi-venue support
  • πŸ“± Mobile ordering
  • 🎫 Reservations & waitlist
  • πŸ’° Loyalty programs
  • πŸ“§ Email receipts
  • πŸ”” Push notifications

πŸ› οΈ Technology Stack

Frontend

  • Framework: Svelte 5 with runes for fine-grained reactivity
  • Meta-Framework: SvelteKit 2 for SSR and routing
  • Styling: Tailwind CSS 4 with CSS-first configuration
  • Build Tool: Vite 6 for fast development and optimized builds

Backend

  • Runtime: Node.js 24 LTS
  • API: tRPC v11 for type-safe APIs
  • Authentication: Keycloak 26.3 (OpenID Connect)
  • Validation: Zod for schema validation

Database & Infrastructure

Development Tools

πŸ“– Full tech stack details: TECH_STACK_2025.md


πŸƒ Getting Started

Prerequisites

  • Node.js: >= 24.0.0 (LTS)
  • npm: >= 10.0.0
  • Git: >= 2.40.0
  • Docker: >= 24.0.0 (optional, for local services)

Installation

Windows (PowerShell):

.\scripts\dev-setup.ps1

macOS/Linux:

# Coming soon: ./scripts/dev-setup.sh

Manual Setup

# 1. Clone repository
git clone https://github.com/Ardigi/HOST.git
cd host

# 2. Install dependencies
npm install

# 3. Configure environment
cp .env.example .env.local
cp apps/pos/.env.example apps/pos/.env.local
cp packages/database/.env.example packages/database/.env.local

# Edit .env.local files with your configuration

# 4. Setup database
npm run db:migrate
npm run db:seed

# 5. Start development server
npm run dev:pos

πŸ“– Detailed setup guide: development-setup.md


πŸ“š Documentation

Essential Docs (Start Here)

Planning & Strategy

Technical Documentation

Development Resources


πŸ’» Development

Project Structure

host/
β”œβ”€β”€ apps/                    # Applications
β”‚   β”œβ”€β”€ pos/                # Main POS SvelteKit app
β”‚   β”œβ”€β”€ kds/                # Kitchen Display System
β”‚   └── admin/              # Admin dashboard
β”œβ”€β”€ packages/               # Shared packages
β”‚   β”œβ”€β”€ shared/            # Business logic
β”‚   β”œβ”€β”€ auth/              # Keycloak integration
β”‚   β”œβ”€β”€ database/          # Drizzle schema & migrations
β”‚   β”œβ”€β”€ ui/                # Svelte components
β”‚   └── types/             # TypeScript types
β”œβ”€β”€ test/                   # Test utilities
β”‚   β”œβ”€β”€ factories/         # Test data factories
β”‚   └── fixtures/          # Test fixtures
β”œβ”€β”€ docs/                   # Documentation
β”œβ”€β”€ scripts/                # Build & dev scripts
└── e2e/                    # E2E tests

Common Commands

# Development
npm run dev              # Start all apps
npm run dev:pos          # Start POS only
npm run dev:kds          # Start KDS only
npm run dev:admin        # Start admin only

# Testing
npm test                 # Run all tests
npm run test:watch       # Watch mode
npm run test:coverage    # Coverage report
npm run test:e2e         # Playwright E2E tests

# Database
npm run db:migrate       # Run migrations
npm run db:seed          # Seed data
npm run db:studio        # Drizzle Studio GUI
npm run db:reset         # Reset database

# Code Quality
npm run lint             # Check code
npm run lint:fix         # Fix issues
npm run typecheck        # Type check
npm run format           # Format code
npm run check:all        # Lint + typecheck + test

# Build
npm run build            # Build all apps
npm run build:fresh      # Clean build
npm run clean            # Clean all

Development Workflow

  1. Create Branch: feature/POS-###-description
  2. Write Tests First: Follow TDD (Red-Green-Refactor)
  3. Implement Feature: Meet acceptance criteria
  4. Verify DoD: Check Definition of Done checklist
  5. Create PR: Use PR template
  6. Code Review: Get approval
  7. Merge: Squash and merge

πŸ“– Full workflow: CONTRIBUTING.md


πŸ§ͺ Testing

Test Strategy

We follow a rigorous Test-Driven Development approach with the testing pyramid:

       /\
      /  \    E2E Tests (5%)
     /____\   - Critical user journeys
    /      \
   /        \  Integration Tests (25%)
  /__________\ - API endpoints, DB operations
 /            \
/______________\ Unit Tests (70%)
                 - Business logic, components

Coverage Requirements

Component Minimum Target
Auth/Payments/Orders 85% 95%
Database/API 85% 90%
Business Logic 80% 85%
UI Components 80% 85%

Running Tests

# Unit tests
npm run test:unit

# Integration tests
npm run test:integration

# E2E tests
npm run test:e2e

# Coverage report
npm run test:coverage

# Watch mode
npm run test:watch

πŸ“– Full testing guide: test-strategy.md


🀝 Contributing

We welcome contributions! Please follow our TDD workflow and coding standards.

Quick Start

  1. Read:

  2. Setup: Run .\scripts\dev-setup.ps1

  3. Pick an Issue: Check GitHub Issues

  4. Write Tests First: TDD approach required

  5. Submit PR: Use the PR template

Pull Request Process

  • βœ… All tests passing (80%+ coverage)
  • βœ… TypeScript compiles (no errors)
  • βœ… Biome linting passes
  • βœ… Code reviewed and approved
  • βœ… Documentation updated
  • βœ… Definition of Done met

πŸ“Š Current Status

Status: 🟒 Active Development Health: 🟒 Healthy Test Coverage: 701 passing tests (99.93% statements)

Implemented Features:

  • βœ… Complete database layer with Drizzle ORM + Turso (241 tests)
  • βœ… Business logic layer with Zod validation (126 tests)
  • βœ… tRPC API with type-safe endpoints (95 tests)
  • βœ… Material Design 3 design system (106 tokens)
  • βœ… Authentication infrastructure with Keycloak integration
  • βœ… Payment processing service (28 tests, PCI-ready)
  • βœ… Order management service (82 tests)
  • βœ… Menu management service (18 tests)
  • βœ… Staff shift tracking service (22 tests)
  • βœ… E2E testing infrastructure with Playwright (6 tests)
  • βœ… CI/CD pipeline with GitHub Actions

πŸ“Š Detailed progress: PROGRESS.md


πŸ†˜ Support

Get Help

Reporting Issues

Use our issue templates:


πŸ“œ License

Proprietary Software

Copyright Β© 2025 Digi. All rights reserved.


πŸ™ Acknowledgments

Built with modern technologies:


πŸš€ Development Roadmap

βœ… Completed

  • Infrastructure: Turborepo monorepo, CI/CD pipeline, TDD workflow
  • Database Layer: 9 schemas, 3 services (Menu, Order, Payment), Turso integration
  • Business Logic: Zod validation, service layer with 99.93% coverage
  • API Layer: tRPC v11 with type-safe endpoints
  • Design System: Complete Material Design 3 token system
  • Authentication: Keycloak integration with OIDC/PKCE
  • Testing: Comprehensive test suite (701 passing tests)

🚧 In Progress

  • UI Components: POS-optimized Material Design 3 wrappers
  • Order Flow: Complete order lifecycle implementation
  • E2E Testing: Expanding Playwright test coverage

πŸ“‹ Planned

  • Payment Integration: Stripe Connect implementation
  • Kitchen Display: Real-time order updates for kitchen staff
  • Reporting & Analytics: Sales, labor, and inventory insights
  • Multi-venue Support: Tenant isolation and cross-venue management

πŸ—ΊοΈ Detailed roadmap: 02-technical-roadmap.md


Building the future of hospitality technology

Top categories

Loading Svelte Themes