track-me/main.go

39 lines
671 B
Go

package main
import (
"fmt"
"log"
"net/http"
"time"
bolt "go.etcd.io/bbolt"
)
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))
}