A modern Electron + React + TypeScript desktop app for industrial data processing and visualization, with hash-based routing, built-in i18n, and cross-platform packaging.
- Lightning‑fast DX: electron‑vite with instant HMR for a silky development loop.
- Modern UI: React + shadcn/ui + Tailwind CSS, with theming and desktop-oriented layout primitives.
- Structured navigation: TanStack Router file-based routing with Electron-friendly hash URLs.
- Lean loading: route-level and component-level chunking keeps chart and preview code out of the initial path until needed.
- Data processing & visualization: Excel (.xlsx) parsing, workbook preview, and chart views for industrial data scenarios.
- Secure bridge: minimal, testable
contextBridgeAPI over IPC. - Cross‑platform + auto‑updates: one codebase for Windows / macOS / Linux, integrated with
electron-updater. - Built‑in i18n: i18next + react-i18next with
en-USandzh-CNout of the box. - High‑performance tooling: Oxc-powered linting and formatting (oxlint + oxfmt) for instant feedback and consistent code style without the slowdown of traditional tools.
This project uses the Oxc toolchain for code quality:
- Linting:
pnpm lint/pnpm lint:fix— oxlint is 50–100× faster than ESLint with extensive rule coverage. - Formatting:
pnpm run format— oxfmt replaces Prettier with near-instant formatting. - Zero-config defaults with sensible presets; customize via
.oxlintrc.jsonand.oxfmtrc.json.
src/main/: Electron main process (window management, IPC, worker scheduling)src/preload/: preload scripts (secure API bridge)src/renderer/: frontend UI (React + shadcn/ui + Tailwind CSS)
- File upload & Excel parsing:
src/renderer/src/UploadPage.tsx - Secure bridge API:
src/preload/index.tsexposeswindow.electron.readExcelFile - Excel worker:
src/main/excel_worker.ts - Charts:
src/renderer/src/features/charts/SignalTrendOverview.tsxandsrc/renderer/src/features/charts/WorkbookPreviewChart.tsx
pnpm installpnpm devpnpm run routes:generatepnpm start# Builds the app and verifies Electron starts without crashing or white screen
pnpm test:e2e# Windows
pnpm build:win
# macOS
pnpm build:mac
# Linux (deb / rpm)
pnpm build:linux