Skip to content

ActivityWatch/aw-leaderboard-firebase

Repository files navigation

aw-leaderboard

Test

Hosted at https://aw-leaderboard.web.app/ (WIP!)

A prototype of a public leaderboard for screentime data collected by ActivityWatch.

It uses Vue 3, Firebase (for auth/storage), and Bootstrap.

The goal was to make a leaderboard app that complements the local-first nature of ActivityWatch with basic social features like public leaderboards or sharing specific screentime data privately with a group.

Previous experiments/attempts were made in:


Click to expand the initial README

Recommended IDE Setup

VSCode + TypeScript Vue Plugin.

Customize configuration

See Vite Configuration Reference.

Project Setup

Clone the Repo and its submodules

git clone --recurse-submodules https://github.com/ActivityWatch/aw-leaderboard-firebase

Install the dependencies

npm install

Compile and Hot-Reload for Development

npm run dev

Type-Check, Compile and Minify for Production

npm run build

Run Unit Tests with Vitest

npm run test:unit

Run End-to-End Tests with Cypress

npm run test:e2e:dev

This runs the end-to-end tests against the Vite development server. It is much faster than the production build.

But it's still recommended to test the production build with test:e2e before deploying (e.g. in CI environments):

npm run build
npm run test:e2e

Lint with ESLint

npm run lint