first commit

This commit is contained in:
KS Jannette
2026-05-18 21:20:44 -04:00
commit 4b39726647
14 changed files with 355 additions and 0 deletions

44
cmd/app/main.go Normal file
View File

@@ -0,0 +1,44 @@
package main
import (
"context"
"github.com/felipecoppola/go-boilerplate/internal/config"
"github.com/felipecoppola/go-boilerplate/internal/infrastructure/os"
"go.uber.org/zap"
)
// Globals that are set at build time.
var (
appName = ""
appVersion = ""
)
func main() {
defer func() { _ = zap.L().Sync() }()
ctx, cancel := context.WithCancel(context.Background())
defer cancel()
logger := zap.L().With(
zap.String("app_name", appName),
zap.String("app_version", appVersion),
)
cfg, err := config.NewConfig()
if err != nil {
logger.Error("error creating config: %w", zap.Error(err))
return
}
logger.Info("starting app")
os.SignalListener(logger, cancel)
if err = run(ctx, cfg); err != nil {
logger.Error("command failed: %w", zap.Error(err))
return
}
logger.Info("command completed")
}

29
cmd/app/service.go Normal file
View File

@@ -0,0 +1,29 @@
package main
import (
"context"
"github.com/kjannette/go-http-server/cmd/app/handler/httpjson"
"github.com/kjannnette/go-http-server/internal/config"
"github.com/kjannette/go-http-server/pkg/logger"
"go.uber.org/zap"
"golang.org/x/sync/errgroup"
)
func run(ctx context.Context, cfg *config.Config) error {
lg := zap.L().With(zap.String("app_name", appName), zap.String("app_version", appVersion))
eg, ctx := errgroup.WithContext(ctx)
app, h := httpjson.New(lg)
eg.Go(func(l logger.Logger) func() error {
return func() error {
l.Info("starting server")
defer l.Info("terminated server")
return h.RunServer(ctx, cfg, app)
}
}(lg.Named("run_server")))
return eg.Wait()
}