Skip to content

Latest commit

 

History

History
49 lines (30 loc) · 1.88 KB

README.md

File metadata and controls

49 lines (30 loc) · 1.88 KB

Bithell Studios Telemetry & Analytics Platform

This project allows us to collect telemetry andd display analytics from our open-source applications, in order to better understand how our users are using our software and its reach and impact.

The project runs under the following privacy principles:

  • Like the applications themselves, this application is fully open-source and the code is available for anyone to inspect and audit.
  • We do not collect any personally identifiable information about users of our projects.
  • Those self-hosting projects can opt-out of telemetry collection at any time.

This project

This is a Remix project, which is a framework for building server-rendered React applications. It runs on Cloudflare Workers with their D1 database, which allows us to run the application on the edge with minimal latency - essential for telemetry collection. You will need to rerun typegen whenever you make changes to wrangler.toml.

It uses Mantine for UI components, and Drizzle for database management.

It is MIT licensed.

Development

We utilize Wrangler for local development to emulate the Cloudflare runtime. This is already wired up in package.json as the dev script:

# start the remix dev server and wrangler
npm run dev

Open up http://127.0.0.1:8788 and you should be ready to go!

To generate migrations after adjusting the schema, run npx drizzle-kit generate:sqlite

First, build your app for production:

Note

These notes are incomplete

  1. Create a new project on Cloudflare Pages
  2. Make sure to disable fallback mode (open) in the Cloudflare Pages settings
  3. Mount the D1 database in the project as "DB"

Typegen

Generate types for your Cloudflare bindings in wrangler.toml:

npm run typegen