chore_tracker

package module
v0.0.0-...-506afff Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Apr 1, 2025 License: MIT Imports: 1 Imported by: 0

README

Chores

Contribution guidelines

  • In the best of our abilities we want to keep the app working without JS. We only use echarts for charting. This means that all major features work without JS, and we use semantic HTML tags and features.
  • We try to limit dependencies as much as possible. We use three go dependencies, a non CGO sqlite3 driver, /x/crypto and a stdlib extension package. For frontend we use echarts.
  • SQLC is used for SQL queries. This is a development dependency but not a runtime dependency.
  • We use https://tabler.io/icons for icons
  • Everything should be bundled in the binary. We use go:embed for static files and also bundle the frontend dependencies in the binary.
  • Keep it simple, we want to deploy a single binary with no external dependencies (including DB). Code should be simple and easy. A bad structure is better than no structure, but a good structure is better than a bad one.
  • Limiting dependencies means we the maintenance and complexity burden is lower. The rigid compatability guarantees of Go means there will be little churn over time and getting back into the project after a long time is easier.

Features

  • users with auth
    • password auth
    • other kind of auth methods that don't incur dependencies
    • user nicknames
  • invites
    • to a specific chorelist
  • shared chore lists
  • chores
    • recurring chores
    • oneshot chores
    • date chores
    • date recurring chores (here we need to build some custom language for specifying the recurrence)
    • snoozing
    • expediting (opposite of snoozing)
  • insights
    • calendar graph
    • list member stats

Roadmap

  • improved UI for invite pages (view and accept)
  • info popovers triggered by an infoicon, for useronboarding
  • invites without sharing a chorelist
  • setting a longer timeout for invites, 24h is a bit short
  • hashed filenames for static files for better caching and no need for css file renaming
  • date type chores
  • date recurring chores

Documentation

Index

Constants

This section is empty.

Variables

View Source
var StaticEmbeddedFS embed.FS

Functions

This section is empty.

Types

This section is empty.

Directories

Path Synopsis
internal
cdb
pkg

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL