restructuring, config and readme

This commit is contained in:
u80864958
2025-04-29 14:57:48 +02:00
parent f027ee7e39
commit fc8b888198
19 changed files with 317 additions and 185 deletions

52
backend/cmd/main.go Normal file
View File

@ -0,0 +1,52 @@
package main
import (
"fmt"
"log"
"net/http"
"os"
"git.schreifuchs.ch/schreifuchs/ng-blog/backend/internal/config"
"git.schreifuchs.ch/schreifuchs/ng-blog/backend/internal/initialize"
"go-simpler.org/env"
)
const HELP = "expected 'serve' or 'help' subcommands"
var ENV_OPTS = &env.Options{NameSep: "_"}
func main() {
if len(os.Args) < 2 {
fmt.Println(HELP)
return
}
switch os.Args[1] {
case "serve":
serve()
case "help":
help()
default:
fmt.Println(HELP)
os.Exit(1)
}
}
func serve() {
cfg := config.Default()
if err := env.Load(cfg, ENV_OPTS); err != nil {
log.Fatal(err)
}
log.Println("config loaded")
mux := initialize.CreateMux(cfg)
if err := http.ListenAndServe(fmt.Sprintf(":%d", cfg.Port), mux); err != nil {
log.Fatal(err)
}
}
func help() {
env.Usage(config.Default(), os.Stdout, ENV_OPTS)
os.Exit(0)
}