Skip to content

PinePeakDigital/bm

Repository files navigation

bm

A modern web dashboard for tracking and managing your Beeminder goals. This application provides a clean, organized interface to view your goals, track progress, and manage datapoints.

Features

  • Goal Organization: Goals are automatically grouped into:
    • Pinned: Goals you've marked as important
    • Today: Goals with deadlines today
    • Next: Upcoming goals
    • Later: Future goals
  • Smart Filtering: Search goals by slug/name
  • Detail View: Click any goal to see detailed information in a modal
  • Keyboard Navigation:
    • a - Navigate to previous goal
    • d - Navigate to next goal
    • Escape - Close modal
  • Real-time Updates: Automatically refreshes when goals are queued (every 3 seconds) or periodically (every 60 seconds)
  • Datapoint Management: Create and delete datapoints directly from the interface

Tech Stack

Getting Started

Prerequisites

  • Node.js (version specified in .nvmrc)
  • pnpm

Installation

  1. Clone the repository
  2. Install dependencies:
    pnpm install

Development

Run the development server:

pnpm dev

The app will be available at http://localhost:5174

Building

Build for production:

pnpm build

Preview the production build:

pnpm preview

Testing

Run tests:

pnpm test

Linting

Check for linting errors:

pnpm lint

Fix linting errors automatically:

pnpm lint:fix

Type Checking

Check TypeScript types:

pnpm checkTs

Authentication

The app uses Beeminder API authentication. You'll need:

These are stored in browser localStorage for convenience.

Deployment

This application is deployed via Render.com as a static site at:

https://bm.taskratchet.com

The deployment configuration is defined in render.yaml.

Project Structure

src/
├── components/        # React/Preact components
├── services/          # API service layer (Beeminder integration)
├── lib/              # Utility functions
├── auth.ts           # Authentication logic
├── useGoals.ts       # Custom hook for fetching goals
├── queryClient.ts    # TanStack Query configuration
└── main.tsx          # Application entry point

License

See LICENSE file for details.

About

No description, website, or topics provided.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Contributors 2

  •  
  •