Skip to content

Project Structure

Tech Stack

  • Frontend: Vue 3 + TypeScript + Vite + Pinia
  • Backend: Rust + Tauri 2
  • Styling: CSS Variables design system + theme engine
  • Charts: ECharts
  • Package Manager: pnpm
  • Linting: oxlint + oxfmt

Directory Overview

SeaLantern/
├── src/                    # Frontend source (Vue 3)
│   ├── api/                # Tauri invoke wrappers
│   ├── views/              # Page components
│   ├── components/         # UI component library
│   │   ├── common/         # SL base components (Button, Modal, Select, etc.)
│   │   ├── layout/         # Layout components (Header, Sidebar)
│   │   ├── config/         # Configuration page components
│   │   ├── console/        # Console components
│   │   ├── plugin/         # Plugin system components
│   │   └── splash/         # Splash screen
│   ├── composables/        # Composables (useToast, useAsync, etc.)
│   ├── stores/             # Pinia state management
│   ├── router/             # Vue Router configuration
│   ├── language/           # i18n language files (12 languages)
│   ├── themes/             # Theme definitions (5 built-in themes)
│   ├── styles/             # Global styles and CSS variables
│   ├── types/              # TypeScript type definitions
│   ├── utils/              # Utility functions
│   └── data/               # Static data
├── src-tauri/              # Backend source (Rust)
│   ├── src/
│   │   ├── commands/       # Tauri commands (frontend-backend interface)
│   │   ├── services/       # Business logic services
│   │   ├── models/         # Data models
│   │   ├── plugins/        # Lua plugin runtime
│   │   └── utils/          # Utility functions
│   └── Cargo.toml
└── .github/workflows/      # CI/CD (check, build, release)

Released under the GPL-3.0 License