From 86cff0489eb4d97e46ac5f8261fbacf67034f010 Mon Sep 17 00:00:00 2001 From: ulflow_phattt2901 Date: Wed, 21 May 2025 12:39:40 +0700 Subject: [PATCH] chore(init): Create Initial repo Upload First repo --- .air.toml | 58 ++ .feature-flags.json | 5 + .gitea/commit-template.txt | 14 + .gitea/hooks/pre-commit | 48 ++ .gitea/hooks/prepare-commit-msg | 34 + .gitea/workflows/ci.yml | 126 ++++ .gitea/workflows/docker.yml | 135 ++++ .gitignore | 50 ++ Dockerfile | 58 ++ Dockerfile.local | 32 + LICENSE | 21 + Makefile | 171 +++++ Readme.md | 192 ++++++ cmd/app/main.go | 149 +++++ configs/config.yaml | 31 + docker-compose.prod.yml | 83 +++ docker-compose.yml | 85 +++ docs/.obsidian/app.json | 1 + docs/.obsidian/appearance.json | 1 + docs/.obsidian/core-plugins.json | 31 + docs/.obsidian/workspace.json | 184 ++++++ docs/adapter.md | 149 +++++ docs/architecture.md | 234 +++++++ docs/changelog.md | 63 ++ docs/general.md | 79 +++ docs/roadmap.md | 48 ++ docs/secrets.md | 136 ++++ docs/spec.md | 130 ++++ docs/testing.md | 119 ++++ docs/ux.md | 57 ++ docs/workflow.md | 84 +++ go.mod | 72 +++ go.sum | 594 ++++++++++++++++++ internal/helper/config/load.go | 117 ++++ internal/helper/config/types.go | 48 ++ internal/helper/database/database.go | 154 +++++ internal/helper/feature/feature.go | 75 +++ internal/helper/logger/README.md | 118 ++++ internal/helper/logger/logger.go | 291 +++++++++ internal/helper/logger/logger_test.go | 249 ++++++++ internal/pkg/lifecycle/lifecycle.go | 142 +++++ .../transport/http/handler/health_handler.go | 70 +++ internal/transport/http/middleware/logger.go | 35 ++ internal/transport/http/router.go | 49 ++ internal/transport/http/server.go | 102 +++ templates/.env.example | 29 + templates/config.example.yaml | 31 + tomb.yaml | 55 ++ 48 files changed, 4839 insertions(+) create mode 100644 .air.toml create mode 100644 .feature-flags.json create mode 100644 .gitea/commit-template.txt create mode 100644 .gitea/hooks/pre-commit create mode 100644 .gitea/hooks/prepare-commit-msg create mode 100644 .gitea/workflows/ci.yml create mode 100644 .gitea/workflows/docker.yml create mode 100644 .gitignore create mode 100644 Dockerfile create mode 100644 Dockerfile.local create mode 100644 LICENSE create mode 100644 Makefile create mode 100644 Readme.md create mode 100644 cmd/app/main.go create mode 100644 configs/config.yaml create mode 100644 docker-compose.prod.yml create mode 100644 docker-compose.yml create mode 100644 docs/.obsidian/app.json create mode 100644 docs/.obsidian/appearance.json create mode 100644 docs/.obsidian/core-plugins.json create mode 100644 docs/.obsidian/workspace.json create mode 100644 docs/adapter.md create mode 100644 docs/architecture.md create mode 100644 docs/changelog.md create mode 100644 docs/general.md create mode 100644 docs/roadmap.md create mode 100644 docs/secrets.md create mode 100644 docs/spec.md create mode 100644 docs/testing.md create mode 100644 docs/ux.md create mode 100644 docs/workflow.md create mode 100644 go.mod create mode 100644 go.sum create mode 100644 internal/helper/config/load.go create mode 100644 internal/helper/config/types.go create mode 100644 internal/helper/database/database.go create mode 100644 internal/helper/feature/feature.go create mode 100644 internal/helper/logger/README.md create mode 100644 internal/helper/logger/logger.go create mode 100644 internal/helper/logger/logger_test.go create mode 100644 internal/pkg/lifecycle/lifecycle.go create mode 100644 internal/transport/http/handler/health_handler.go create mode 100644 internal/transport/http/middleware/logger.go create mode 100644 internal/transport/http/router.go create mode 100644 internal/transport/http/server.go create mode 100644 templates/.env.example create mode 100644 templates/config.example.yaml create mode 100644 tomb.yaml diff --git a/.air.toml b/.air.toml new file mode 100644 index 0000000..820a766 --- /dev/null +++ b/.air.toml @@ -0,0 +1,58 @@ +# Air Tomb Configuration for ULFlow Starter Kit +root = "." +tmp_dir = "tmp" + +[build] +# Just plain old shell command. You could use `make` as well. +cmd = "go build -o ./tmp/main.exe ./cmd/app" +# Binary file yields from `cmd`. +bin = "tmp/main.exe" +# Customize binary. +full_bin = "./tmp/main.exe" +# Watch these filename extensions. +include_ext = ["go", "tpl", "tmpl", "html"] +# Ignore these filename extensions or directories. +exclude_dir = ["assets", "tmp", "vendor", ".git", "node_modules"] +# Watch these directories if you specified. +include_dir = [] +# Exclude files. +exclude_file = [] +# This log file places in your tmp_dir. +log = "air.log" +# It's not necessary to trigger build each time file changes if it's too frequent. +delay = 1000 # ms +# Stop running old binary when build errors occur. +stop_on_error = true +# Send Interrupt signal before killing process (windows does not support this feature) +send_interrupt = true +# Delay after sending Interrupt signal +kill_delay = 500 # ms + +[log] +# Show log time +time = true + +[color] +# Customize each part's color. +main = "magenta" +watcher = "cyan" +build = "yellow" +runner = "green" + +[misc] +# Delete tmp directory on exit +clean_on_exit = true + +[screen] +clear_on_rebuild = true +keep_scroll = true + +[tomb] +# Enable Tomb for graceful shutdown +enabled = true +# Kill signal to use for graceful shutdown +signal = "SIGTERM" +# Timeout for graceful shutdown +timeout = "5s" +# Path to the tomb config file +config = "./tomb.yaml" diff --git a/.feature-flags.json b/.feature-flags.json new file mode 100644 index 0000000..70f0990 --- /dev/null +++ b/.feature-flags.json @@ -0,0 +1,5 @@ +{ + "enable_database": { + "enabled": false + } + } \ No newline at end of file diff --git a/.gitea/commit-template.txt b/.gitea/commit-template.txt new file mode 100644 index 0000000..c1b5a6b --- /dev/null +++ b/.gitea/commit-template.txt @@ -0,0 +1,14 @@ +# : + +# + +#