Skip to content

ntx007/lagora

Repository files navigation

lagora

Modern inventory & warehouse management system. Open-source, self-hostable, SaaS-ready.

lagora Dashboard

Features

Core Modules

  • 📦 Artikelverwaltung — CRUD mit Barcode/EAN-Scan, Kategorien, Varianten, Import/Export
  • 🏭 Lagerverwaltung — Mehrere Lager, Lagerplätze, Bestandsübersicht
  • 📋 Inventur — Digital: Erstellen → Zählen → Differenz → Abschließen
  • 🔄 Bewegungshistorie — Vollständiges Audit-Log aller Lagerbewegungen
  • 🚚 Lieferanten — Kontakte, Artikel-Zuordnung, Einkaufspreise
  • 👥 Benutzerverwaltung — Rollen, Einladungen, Firmenwechsel

Technical Highlights

  • 🔐 SSO — OIDC/OAuth2 (Authentik-kompatibel) + lokale Auth
  • 🏢 Multi-Tenant — Mehrere Unternehmen pro Instanz
  • 📱 Responsive — Desktop-first, Mobile für Inventur-Scan optimiert
  • 🌙 Dark Mode — via CSS Variables
  • 🐳 Docker-ready — Multi-stage Build, docker-compose

Quick Start (Docker)

# 1. Clone
git clone https://github.com/ntx007/lagora.git
cd lagora

# 2. Configure
cp .env.example .env
# Edit .env: set JWT_SECRET, etc.

# 3. Start
docker compose up -d

# 4. Seed demo data (optional)
docker compose exec api node --import tsx/esm packages/db/src/seed.ts

Open http://localhost:3000

Demo credentials:

Development

Prerequisites

  • Node.js 20+
  • pnpm 10+
  • PostgreSQL 16+
# Install dependencies
pnpm install

# Set up environment
cp .env.example .env
# Edit .env with your local settings

# Run database migrations
pnpm --filter @lagora/db db:migrate

# Seed demo data
pnpm --filter @lagora/db db:seed

# Start dev servers
pnpm dev

Frontend: http://localhost:5173
API: http://localhost:3001
API Health: http://localhost:3001/health

Tech Stack

Layer Technology
Frontend React 19, Vite, TypeScript 5, Tailwind CSS 4
Routing TanStack Router
State TanStack Query + Zustand
Forms React Hook Form + Zod
Tables TanStack Table
Charts Recharts
Backend Node.js, Hono, TypeScript
ORM Drizzle ORM
Database PostgreSQL 16+
Auth JWT + OIDC (Authentik)
Build Turborepo + pnpm workspaces

Project Structure

lagora/
├── apps/
│   ├── web/          # React frontend
│   └── api/          # Hono backend
├── packages/
│   ├── db/           # Drizzle schema + migrations
│   └── shared/       # Shared types + validators
├── docker-compose.yml
├── Dockerfile
└── .env.example

Configuration

All configuration via environment variables. See .env.example for full reference.

Variable Description Default
DATABASE_URL PostgreSQL connection string
JWT_SECRET Secret for JWT signing (min 16 chars)
OIDC_ENABLED Enable OIDC/SSO login false
OIDC_ISSUER OIDC provider URL (e.g. Authentik)
STORAGE_TYPE File storage: local or s3 local
SAAS_MODE Enable multi-tenant SaaS features false

Deployment

Docker Compose (recommended)

cp .env.example .env
# Configure .env
docker compose up -d

Kubernetes / Helm

See docs/kubernetes.md (coming soon)

Deploy to lagora.io.anatolium.eu

The official instance is deployed via Docker on a dedicated host behind a reverse proxy (SWAG/nginx).

API Documentation

REST API with OpenAPI schema available at /api/docs (coming soon).

Key endpoints:

  • POST /api/auth/login — Login with email/password
  • GET /api/auth/me — Current user
  • GET /api/articles — List articles (with pagination, search, filter)
  • POST /api/articles — Create article
  • GET /api/warehouses — List warehouses
  • POST /api/inventories — Create inventory
  • POST /api/inventories/:id/start — Start inventory
  • POST /api/inventories/:id/complete — Complete & apply stock changes
  • GET /api/stock/movements — Movement history
  • GET /api/dashboard/stats — Dashboard KPIs

Contributing

  1. Fork the repository
  2. Create a feature branch: git checkout -b feat/my-feature
  3. Commit with conventional commits: git commit -m "feat: add barcode scanner"
  4. Push and open a Pull Request

License

MIT — see LICENSE


Built with ❤️ — Open-source, self-hostable, production-ready.

About

Modern inventory & warehouse management system. Open-source, self-hostable, SaaS-ready.

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages