Skip to content

Repository files navigation

Studio

Build

Nvisy's product console — the web app (app.nvisy.com) and a Tauri desktop app, sharing one dashboard via a Nuxt layer.

The dashboard surface (design system, feature views, composables, and the @nvisy/sdk data layer) lives in a shared @nvisy/console Nuxt layer, and each app provides only its own shell. The web app is a Nuxt SPA; the desktop app wraps the same frontend in a Tauri native shell.

Warning

Active development: API not stable. This project is under active development. Public APIs, configuration shapes, and on-disk formats may change without notice between releases.

Workspace

An npm workspace split into deployable apps and the shared package they build on.

Apps (apps/*) — the shells that ship:

  • @nvisy/webapp (apps/web) — web shell, a Nuxt 4 SPA served at app.nvisy.com
  • @nvisy/desktop (apps/desktop) — desktop shell: the same frontend wrapped in a Tauri 2 (Rust) native window, with the Rust shell living in apps/desktop/tauri/

Packages (packages/*) — the shared code the apps build on:

  • @nvisy/console — Nuxt layer holding the whole dashboard surface: design system (shadcn-vue), feature views, composables, the @nvisy/sdk data layer, theme, and i18n
  • @nvisy/config — shared configuration and constants, built as a platform-neutral ESM library (tsdown)

Each app opts in with extends: ["@nvisy/console"] and imports shared code through the #console alias; the layer provides everything, the apps add only their own shell.

Requirements

  • Node.js 22.18+
  • npm 10+
  • Rust + Cargo (desktop app only)

Quick Start

make install                              # Install dependencies
npm run dev -w @nvisy/webapp              # Web dev server (port 3000)
npm run dev -w @nvisy/desktop             # Desktop frontend dev (port 1420)
npm run tauri -w @nvisy/desktop dev       # Desktop app (Tauri window)

Commands

make build          # Build the web app -> ./output
make build-desktop  # Build the desktop frontend
make check          # Lint and format check (Biome)
make clean          # Remove build artifacts and node_modules
make repair         # Clean and reinstall

npm run typecheck   # Type check all workspaces

Structure

apps/
├── web/            # web shell — Nuxt 4 SPA (@nvisy/webapp)
└── desktop/        # desktop shell (@nvisy/desktop)
    ├── app/        #   Nuxt frontend (extends @nvisy/console)
    └── tauri/      #   Tauri 2 Rust shell (Cargo, tauri.conf.json)
packages/
├── console/        # shared Nuxt layer (@nvisy/console)
└── config/         # shared config & constants — ESM lib (@nvisy/config)

Contributing

See CONTRIBUTING.md for development setup and guidelines.

License

Apache 2.0 License, see LICENSE.txt

Support

About

Web and desktop app for detecting and redacting PII in documents, built with Nuxt and Tauri. Upload files, configure detection rules, and process everything locally in the browser or a native client.

Topics

Resources

Contributing

Stars

3 stars

Watchers

0 watching

Forks

Releases

Contributors

Languages