Skip to content

fnurk/geom

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

26 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

GEOM

Very cool name.

Experimental backend to maybe use for quick PoCs in the future. Inspired by pocketbase, but targeting a more code-centric usage.

Why?

Firebase is nice, but self hosted and everything in code is even nicer.

The goal is to have:

  • Single file database - easy to back up and handle
    • Schemaless documents for quick development and wild west migrations
    • If anyone asks "where is our data?" the answer is "this file"
    • Easy to separate data into files, eg GDPR data in one, anonymous data in another, a third for time-series data
  • Easy to implement access control
    • Firebase-esque rules for documents
  • Tools ready to implement business logic
    • In memory pubsub
    • In memory cache
    • Realtime document updates
  • Indexes from json document fields
    • Simplify "joins"
  • Acceptable performance for a few thousand users
    • Clear paths forward when performance starts degrading
      • Easy to replace in embedded pubsub/cache/dbs with externals
  • Super simple deployment
    • Exetutable + database file + config file -> rock and roll

Structure

An example of a firebase-like implementation is under work in examples/documents.go

About

Backend written in go

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published