Skip to content

akshayvadher/okr

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

62 Commits
 
 
 
 
 
 
 
 

Repository files navigation

OKR

Features

  • local first
  • sync

Design

architecture

activity

Start

cd api
podman compose up
go build ./cmd/api/main.go && ./main
bun i
bun run build && bun start

Todo

LocalFirst + Sync

  • Last sync persistance
  • Offline tracker
  • Offline support
  • Better queue in web (remove delay)
  • Using dynamic table name based on create query
  • Separate session id and client id
  • Better event in server (remove polling)
  • Handle failed transaction (correctly failed and wrongly failed both)
  • Add loading per entity
  • Lazy loding for some entities
  • Get only my data (using multi tenancy)
  • How to not get all data (using yearly or quarterly OKR)
  • PWA

OKR App

  • Workspace/multi-tenancy support
  • Comments
  • Quarterly
  • Tasks
  • Todo inside objective

Nice to have (not directly related to sync)

  • Jotai listener to avoid code duplication
  • PgLite listener
  • Remove dead code
  • Backend to be transactional
  • Consistency in naming (key_results vs keyResults)
  • Use go migrations instead of gorm auto
  • Default exampand to be on
  • Use Drizzle
  • Better doc
  • Don't show no result until seeded

Bugs

  • Too many connections when server stopped
  • After many transactions, the client becomes slow
  • Queue monitor debug not working

To check

  • If using a big object pool and calculating upfront is costly
  • First DB query is slow (Like 1 whole second)
  • Is PgLite and Drizzle a good choice
  • Check sync precision. Always at least 1 transaction seems to be coming up

Not doing

  • Error rollback
  • Conflict handling
  • Delete old tables
  • I don't know how to test the sync part
  • Not doing any sort of testing

Risk

  • Complexity
  • Client code to have a lot of business logic
  • Db structure revealed

About

OKR Tracking application. LocalFirst + Auto Sync

Topics

Resources

Stars

Watchers

Forks