This app provides a GUI to collect and show data from Boot.dev. It can be used as a companion app while doing coursework to monitor on-going events, their buffs, and much more.
Note: This project isn't affiliated with Boot.dev in any way. I'm just a student that wanted to make something I thought was cool.
Boot.dev uses a one-time password system for logging in via it's CLI. Using this same OTP, BDB can authenticate the user and retrieve their Boot.dev data.
Access tokens are only valid for 60 minutes. Once invalid, the app will attempt to renew the token. If it fails, you may need get another OTP and sign in again. If that fails, restart the app.
This app creates a file in its working directory to store your current tokens called
.bootdevbuddy.json
. If you have issues with sign-in or are removing the app, delete this file.
-
In the app, click on the text that says to
click here
to get your one-time password. -
In the new tab that opens, click the 📋(clipboard) icon to copy your OTP
-
Paste the token into the awaiting box, and click the
Sign in
button. -
BUG: If you don't see your account after logging in, close the app and re-open it.
- Reactivity in Svelte isn't working when signing in via OTP, app needs restart.
- Sign in using Boot.dev's authentication
- In-memory cache of requests made
- Automatic sign-in on load
- Uses Boot.dev's API to allow you to click any lesson and go back to where you left off
- View a tally of lessons completed, and see how many of each course are done
- Boss event monitoring / participation
- Update stats on a delay
- View other mages' profiles on leaderboard by click
- Buff timers
- Fancier and more formatted stats
If you want to use dev mode in the browser and not with a GUI app, set StartHidden
to true
in main.go
. Highly recommended.
func main() {
app := NewApp()
err := wails.Run(&options.App{
...
StartHidden: true, // Me
...
}
}
-
Run
wails dev
to start up the dev server. This will build your Go backend and Svelte frontend, and start a server athttp://localhost:34115
-
app.go
contains App methods that will be callable in the Svelte app. Outside of that, the separation is pretty apparent.
To build a redistributable, production mode package, use wails build
.
I'm a fan of monitoring software, making it look nice, and making it easy to get the information you want at a glance. I thought having a buddy app to the Boot.dev curriculum that could give a student more sense of community, while also monitoring your own progress, would be fun.