package main import ( "fmt" "log" "net/http" "time" bolt "go.etcd.io/bbolt" ) func init() { log.SetFlags(log.LstdFlags|log.Lshortfile) } const DBFilename = "./moments.db" // Moment is the main information this servers remembers type Moment struct { Key string Time time.Time Diff int64 Memo string } // main is the main function func main() { fmt.Println("Starting tracking backend server") db, err := bolt.Open(DBFilename, 0666, nil) if err != nil { log.Println(err) return } defer db.Close() http.Handle("/auth/", http.StripPrefix("/auth/", &IndieAuthHandler{})) http.Handle("/", &indexHandler{DB: db}) http.Handle("/moment", &momentHandler{DB: db}) log.Fatal(http.ListenAndServe(":8096", nil)) }