Giter Club home page Giter Club logo

f1-dash's Introduction

f1-dash

Real-time Formula 1 telemetry and timing

f1-dash

A real-time F1 dashboard that shows the leader board, tires, gaps, laps, mini sectors and much more

project structure

This project is mono-repo style. Which means it includes the frontend aswell as the backend and some extra tools for developing and testing. I will go over every single of of them and explain them below.

The main two parts used in production are:

  • dash (frontend)
    displays the data served from the backend. Also know as the thing you see when you visit f1-dash.

  • data (backend)
    Is the backend that grabs the data from f1 and sorts and formats it in a for me useable state. Its currently written with bun and I am planning to rewrite it in rust sometime.

Other tools used during development or testing are:

  • data-saver
    Connects to the f1 socket and porints out the messages it recives. Its written in rust. I usually use it to pipe the output into a txt file which the data-simulator then can use. Write to txt like this: cargo run > some-name.data.txt

  • data-simulator
    Reads a txt from the data-saver and simulates the f1 websocket. The websocket gets started on port 8000. Start it like this cargo run some-name.data.txt

setup

Because we have multiple components u need to install follwuing things

  • node
  • yarn
  • bun
  • rsutup (cargo)

to start the whole thing do this

# note u will need 3 terminals u can't abort one command

cd dash/
yarn # install deps
yarn dev # start frontend in dev mode

cd data/
bun i # install deps
bun start # start backend

cd data-simulator/
cargo run some-name.data.txt # will install, compile and start

# note: the txt needs to be created before hand during a race to do that do this:

cd data-saver/
cargo run > some-name.data.txt # will install, compile and start
# its supid simple but it works

contributing

I really appreaciate it if you want to contribute to this project. I can recommend the GitHub issues marked as "Good First Issue" to get started. If you want to support me and make me focus more on this project, support me here by buying me a coffee.

notice

This project/website is unofficial and is not associated in any way with the Formula 1 companies. F1, FORMULA ONE, FORMULA 1, FIA FORMULA ONE WORLD CHAMPIONSHIP, GRAND PRIX and related marks are trade marks of Formula One Licensing B.V

f1-dash's People

Contributors

slowlydev avatar simylein avatar arisacoba avatar blize 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.