OlliV / bfree

Bfree smart trainer app.
https://bfree.vercel.app
GNU General Public License v3.0
32 stars 4 forks source link
cycling heartrate-monitor nextjs trainer web-ble web-bluetooth

🚵free

Bfree is an open source smart trainer software for indoor cycling running entirely in a web browser. The app uses Web Bluetooth to connect to BLE sensors and a trainer.

No data is ever uploaded into any cloud service, and if such a features will be ever implemented it will be totally opt-in. All the date remains in your browser, plain text, currently in local storage. This might be changed to something more secure in the future.

Free Ride mode

Try Now at https://bfree.vercel.app/

Supported Devices

Getting Started

Bfree is built on top of Next.js and mostly what applies to Next.js projects, should work here too.

Prerequisites

At bare minimum you'll need a web browser that supports Web Bluetooth, see here.

Only a few browsers support inhibiting screen locking from JS, see here.

The app is tested on Microsoft Edge and it should also work on Google Chrome and its Android derivatives.

To build Bfree locally you'll need Node.js and npm. The official website of the Node.js project helps with that.

As normally with Next.js projects, the following commands apply.

Start in dev mode:

npm run dev

Run full build:

npm run build

Start in production mode:

npm start

Running the build step is required before this.

Next.js telemetry

The Next.js telemetry is disabled by default. You can opt-in for the telemetry by setting the NEXT_TELEMETRY_DISABLED environment variable to 0.

For example:

NEXT_TELEMETRY_DISABLED=0 npm run build

License

See LICENSE.txt and NOTICE.md.

Related Work

While Bfree is not a derivative work the following open source projects have been a great help in understanding how BLE, ANT+, and smart trainers work in general.

Useful Links