Skip to content

About

Open-source timing and results management software for Kart Slalom competitions and training

Topics

Resources

Stars

0 stars

Watchers

0 watching

Forks

Repository files navigation

openSlalom

Open-source timing and results management software for Kartslalom (JKS/SKS) competitions and training.

Built with Electron + Next.js (via nextron).

Features

  • Driver Management — Create and manage driver profiles
  • Kart Management — Track kart assignments and history
  • Training Sessions — Start, stop, and restore training sessions
  • Precision Lap Timing — Record lap times with accuracy down to the millisecond
  • Statistics — View aggregated stats from past trainings
  • Championships (upcoming in v1.4.0) — Organize series of trainings with standings

Tech Stack

Tech Stack

Layer Technology
Desktop Runtime Electron
Application Framework nextron (Electron + Next.js integration)
UI Framework React 19 with Next.js 16
Component Library Mantine
Database Dexie.js (IndexedDB wrapper)
Persistent Storage electron-store
Logging electron-log
Testing Vitest

Prerequisites

  • Node.js (v20+)
  • npm, yarn, or pnpm

Getting Started

# Install dependencies
npm install # or yarn / pnpm

# Start development server
npm run dev

# Build for production
npm run build

Scripts

Script Description
npm run dev Start development mode (Hot reload enabled)
npm run build Build for all platforms
npm run format Format code with Prettier
npm run test Run tests with Vitest
npm run typecheck:renderer Type-check the renderer process

Project Structure

openSlalom/
├── app/                  # Production files (generated)
├── main/                 # Electron main process
│   ├── ipc/              # IPC handlers (file open, save)
│   └── helpers/          # Window creation utilities
├── renderer/             # Next.js renderer process
│   ├── components/       # React components
│   ├── contexts/         # React contexts
│   ├── hooks/            # Custom hooks
│   ├── lib/              # Database, utilities
│   └── pages/            # App routes
├── resources/            # Platform assets (icons, etc.)
├── electron-builder.yml  # Build configuration
└── NOTES.md              # Dev notes

Architecture

This is the code block that represents the suggested code change:

Electron Main Process (main/)
├── Creates browser windows
└── IPC endpoints (save-file, open-file, etc.)

        ↓ IPC bridge

Next.js Renderer Process (renderer/)
├── React UI components
├── Dexie DB service (IndexedDB)
└── Training state management

License

MIT

About

Open-source timing and results management software for Kart Slalom competitions and training

Topics

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages