Valentin Haudiquet 564de90ecb
All checks were successful
pipeline / lint-and-format (push) Successful in 4m16s
pipeline / build-and-push-images (push) Successful in 47s
dev: update dev script for auto-download
2026-02-05 14:28:20 +01:00
2026-01-21 00:59:23 +01:00

BuildPath

a tool for League of Legends champions runes and build paths

https://buildpath.win

Architecture

BuildPath is made of four components:

  • a MongoDB document database
  • patch_detector, a daemon which runs periodically to detect new League of Legends patch from official APIs
  • match_collector, a daemon which runs periodically to collect matches from League of Legends challenger players on current patch, and generate statistics from those matches, saving them in the database
  • frontend, which is a Nuxt.JS project hosting an API serving the statistics but also the full web frontend (Vue.JS)

Development

Getting started

Developing BuildPath requires Docker for a local MongoDB instance, and a NodeJS/npm installation. Then, for the first-time setup:

# Install npm and node
sudo apt install npm nodejs          # Ubuntu
sudo pacman -S npm nodejs            # Arch
sudo dnf install nodejs              # Fedora

# Install docker. Follow instructions on
# https://docs.docker.com/engine/install/
# .. and don't forget docker compose

cd dev && npm i && cd ..             # Install dependencies for the dev environment
cd frontend && npm i && cd ..        # Install dependencies for frontend
cd match_collector && npm i && cd .. # Install dependencies for match_collector
cd patch_detector && npm i && cd ..  # Install dependencies for patch_detector

BuildPath needs data to work, either for generating statistics in the match_collector or for the frontend.

In order to download a production snapshot with data, import them into a local MongoDB instance and re-generate champion statistics, just use:

node dev/scripts/setup-db.js

You can re-run the script to re-generate statistics, and it won't re-download data.

Afterwards, if you want to run the frontend:

cd frontend && npm run dev

Code quality

Every subproject has lint and format targets:

npm run format # Format code
npm run lint   # Run the linter

Please make sure those are run without errors before committing.

Description
BuildPath: a tool for League of Legends champions runes and build paths.
https://buildpath.win
Readme 2.4 MiB
Languages
Vue 58.7%
TypeScript 26.2%
JavaScript 14%
CSS 0.6%
Dockerfile 0.5%