Coder Social home page Coder Social logo

alexgustafsson / f1-telemetry Goto Github PK

View Code? Open in Web Editor NEW
1.0 2.0 0.0 4.32 MB

A telemetry processor for the official Formula 1 games. Work in progress

Go 7.74% Python 0.06% JavaScript 85.88% TypeScript 4.02% HTML 0.07% CSS 2.12% Shell 0.10%
f1 f1-game formula1 telemetry

f1-telemetry's Introduction

Formula 1 Telemetry Companion

A telemetry processor for the official Formula 1 games.

Features and Use Cases

Example graph

  • Cross platform
  • Use as a CLI, via the embedded web UI or as a standalone application
  • Stores data as Prometheus-compatible time series
  • Query data using embedded PromQL
  • Fast and resource efficient
  • Effortlessly produce telemetry graphs modeled after real-world teams' graphs

Usage

Work in progress.

CLI

# Start the server with the bundled web UI listening on UDP 127.0.0.1:20777 and TCP 127.0.0.1:20777
./cli start --output database --web

Development

There are some rough guidelines available below for now.

Frontend

The frontend is built with React, Tailwind CSS and Vite. It resides in frontend. Entrypoints are frontend/main.tsx for the app, frontend/main.css for the style.

# Install dependencies
yarn install

# Run the development server on http://localhost:3000
yarn run dev

# Format code
yarn run format

# Build the frontend
yarn run build

CLI

The CLI's entrypoint is cmd/cli/main.go. It handles parsing CLI flags and arguments and invokes one of the supported actions found in internal/cli.

# Build the CLI
go build -o cli cmd/cli/*.go

APP

The app's entrypoint is app.go. It handles parsing CLI flags and arguments and is mostly a wrapper for internal/app/action.go.

# Install Wails
go install github.com/wailsapp/wails/v2/cmd/wails@latest

# Run Wails in dev mode
wails dev

# Build the app in debug mode (includes DevTools accessible via right click)
wails build -debug

# Build the app
wails build

Known issues

  • It seems as if F1 always give players the name "Player" in races, which makes it difficult to identify the car a certain player drove.

f1-telemetry's People

Contributors

alexgustafsson avatar

Stargazers

 avatar

Watchers

 avatar  avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.