Visual editor for creating, managing and tagging sectored layouts. Built with modern web technologies including Bun, Astro, Svelte 5, SQLite, and WebSocket for real-time collaboration.
sector-tagger/
├── certs/ # SSL certificates
│ ├── cert.pem
│ └── key.pem
├── data/ # Data directory
│ └── db.sqlite # SQLite database
├── scripts/ # Helper scripts
│ ├── init-db.ts # Database initialization
│ ├── start-dev.sh # Development startup
│ └── ws-server.ts # WebSocket server
├── src/
│ ├── assets/ # Static assets
│ ├── components/ # Svelte components
│ │ ├── BaseSector.svelte # Base sector component
│ │ ├── HoverPanel.svelte # Hover information panel
│ │ ├── SelectedPanel.svelte # Selected item details
│ │ ├── Tagger.svelte # Main canvas component
│ │ └── TransformHandle.svelte # Transform controls
│ ├── layouts/ # Astro layouts
│ ├── lib/ # Core library code
│ │ ├── api/ # API and WebSocket
│ │ │ ├── types.ts # API types
│ │ │ ├── webSocketServer.ts # WS server
│ │ │ └── websocketClient.ts # WS client
│ │ ├── config.ts # App configuration
│ │ ├── db/ # Database
│ │ │ ├── index.ts # DB exports
│ │ │ ├── migrate.ts # Migrations
│ │ │ └── schema.ts # DB schema
│ │ └── storage/ # Storage handlers
│ │ └── localStore.ts # Local storage
│ ├── pages/ # Astro pages
│ │ └── index.astro # Main page
│ ├── styles/ # Global styles
│ └── types/ # TypeScript types
├── .env # Environment variables
├── .env.example # Environment template
├── astro.config.mjs # Astro configuration
├── docker-compose.yml # Docker Compose config
├── Dockerfile # Docker build config
└── package.json # Project metadata
Tagger.svelte
: Main canvas component managing the layout editorBaseSector.svelte
: Base component for all sector types (pages, views, sectors)# Server Configuration
VITE_SERVER_HOST=localhost
VITE_SERVER_PORT=3000
VITE_SERVER_PROTOCOL=https
# WebSocket Configuration
VITE_WS_HOST=localhost
VITE_WS_PORT=4321
VITE_WS_PATH=/api/ws
# SSL Configuration
VITE_SSL_KEY_PATH=./certs/key.pem
VITE_SSL_CERT_PATH=./certs/cert.pem
# Database Configuration
VITE_DB_PATH=./data/db.sqlite
# Development Mode
VITE_DEV_MODE=true
bun install
cp .env.example .env
mkdir certs
openssl req -x509 -newkey rsa:2048 -nodes -sha256 -subj '/CN=localhost' \
-keyout certs/key.pem -out certs/cert.pem
bun run scripts/init-db.ts
bun run dev
docker compose up --build
The application will be available at:
MIT License - see LICENSE file for details