From 8a313df9f9af3c2b2bc4ff97255f6463b5ad7c6d Mon Sep 17 00:00:00 2001 From: ulflow_phattt2901 Date: Fri, 6 Jun 2025 07:24:26 +0700 Subject: [PATCH] Commit without pre --- .env.example | 32 - .gitea/hooks/pre-commit | 2 +- .gitea/workflows/ci.yml | 6 +- Dockerfile | 2 +- Dockerfile.local | 4 +- Makefile | 41 +- Readme.md | 88 ++- cmd/app/main.go | 15 +- configs/config.yaml | 2 +- coverage | 46 +- docker-compose.yml | 2 +- docs/AUTHENTICATION.md | 209 ------- docs/adapter.md | 315 +++++----- docs/architecture.md | 552 +++++++++++------- docs/changelog.md | 89 +-- docs/cysec.md | 149 +++++ docs/docker_rule.md | 183 ++++++ docs/general.md | 139 ++--- docs/query.md | 198 +++++++ docs/review.md | 80 --- docs/roadmap.md | 212 ++++--- docs/schema.md | 244 ++++++++ docs/screen.md | 125 ++++ docs/secrets.md | 136 ----- docs/session_20240524.md | 32 - docs/spec.md | 271 +++++---- docs/testing.md | 119 ---- docs/unit-testing.md | 174 ------ docs/ux.md | 57 -- docs/workflow.md | 84 --- go.mod | 59 +- go.sum | 547 ++--------------- .../role_repository.go | 4 +- .../user_repository.go | 12 +- internal/helper/database/database.go | 4 +- internal/helper/logger/README.md | 2 +- internal/helper/logger/logger.go | 14 +- internal/helper/logger/logger_test.go | 6 +- internal/pkg/lifecycle/lifecycle.go | 8 +- .../{domain => resource}/role/repository.go | 0 internal/{domain => resource}/role/role.go | 0 .../{domain => resource}/user/repository.go | 0 internal/{domain => resource}/user/user.go | 24 +- internal/service/auth_service.go | 7 +- internal/service/auth_service_test.go | 9 +- internal/transport/http/dto/user_dto.go | 26 +- .../transport/http/handler/auth_handler.go | 13 +- .../http/handler/auth_register_test.go | 14 +- .../transport/http/handler/health_handler.go | 7 +- .../http/handler/health_handler_test.go | 17 +- internal/transport/http/middleware/auth.go | 5 +- .../transport/http/middleware/auth_test.go | 13 +- .../http/middleware/middleware_test.go | 25 +- internal/transport/http/router.go | 14 +- internal/transport/http/server.go | 19 +- templates/.env.example | 2 +- 56 files changed, 2135 insertions(+), 2324 deletions(-) delete mode 100644 .env.example delete mode 100644 docs/AUTHENTICATION.md create mode 100644 docs/cysec.md create mode 100644 docs/docker_rule.md create mode 100644 docs/query.md delete mode 100644 docs/review.md create mode 100644 docs/schema.md create mode 100644 docs/screen.md delete mode 100644 docs/secrets.md delete mode 100644 docs/session_20240524.md delete mode 100644 docs/testing.md delete mode 100644 docs/unit-testing.md delete mode 100644 docs/ux.md delete mode 100644 docs/workflow.md rename internal/adapter/{persistence => postgres}/role_repository.go (95%) rename internal/adapter/{persistence => postgres}/user_repository.go (96%) rename internal/{domain => resource}/role/repository.go (100%) rename internal/{domain => resource}/role/role.go (100%) rename internal/{domain => resource}/user/repository.go (100%) rename internal/{domain => resource}/user/user.go (51%) diff --git a/.env.example b/.env.example deleted file mode 100644 index b7266f9..0000000 --- a/.env.example +++ /dev/null @@ -1,32 +0,0 @@ -# App Configuration -APP_NAME="ULFlow Starter Kit" -APP_VERSION="0.1.0" -APP_ENVIRONMENT="development" -APP_TIMEZONE="Asia/Ho_Chi_Minh" - -# Logger Configuration -LOG_LEVEL="info" # debug, info, warn, error - -# Server Configuration -SERVER_HOST="0.0.0.0" -SERVER_PORT=3000 -SERVER_READ_TIMEOUT=15 -SERVER_WRITE_TIMEOUT=15 -SERVER_SHUTDOWN_TIMEOUT=30 - -# Database Configuration -DB_DRIVER="postgres" -DB_HOST="localhost" -DB_PORT=5432 -DB_USERNAME="postgres" -DB_PASSWORD="your_password_here" -DB_NAME="ulflow" -DB_SSLMODE="disable" - -# JWT Configuration -JWT_SECRET="your-32-byte-base64-encoded-secret-key-here" -JWT_ACCESS_TOKEN_EXPIRE=15 # in minutes -JWT_REFRESH_TOKEN_EXPIRE=10080 # in minutes (7 days) -JWT_ALGORITHM="HS256" -JWT_ISSUER="ulflow-starter-kit" -JWT_AUDIENCE="ulflow-web" diff --git a/.gitea/hooks/pre-commit b/.gitea/hooks/pre-commit index 21b4218..f76814b 100644 --- a/.gitea/hooks/pre-commit +++ b/.gitea/hooks/pre-commit @@ -12,7 +12,7 @@ if [[ "$STAGED_GO_FILES" = "" ]]; then else # Run golangci-lint on staged files echo "Running golangci-lint..." - golangci-lint run $STAGED_GO_FILES + golangci-lint run ./... if [ $? -ne 0 ]; then echo "golangci-lint failed. Please fix the issues before committing." exit 1 diff --git a/.gitea/workflows/ci.yml b/.gitea/workflows/ci.yml index 1f14f1b..5a893f1 100644 --- a/.gitea/workflows/ci.yml +++ b/.gitea/workflows/ci.yml @@ -16,7 +16,7 @@ jobs: - name: Set up Go uses: actions/setup-go@v5 with: - go-version: '1.23' + go-version: '1.24.3' cache-dependency-path: go.sum - name: Lint @@ -58,7 +58,7 @@ jobs: - name: Set up Go uses: actions/setup-go@v5 with: - go-version: '1.23' + go-version: '1.24.3' cache-dependency-path: go.sum - name: Install go-junit-report @@ -93,7 +93,7 @@ jobs: - name: Set up Go uses: actions/setup-go@v5 with: - go-version: '1.23' + go-version: '1.24.3' cache-dependency-path: go.sum - name: Build diff --git a/Dockerfile b/Dockerfile index 30bdcf2..eb4b5f0 100644 --- a/Dockerfile +++ b/Dockerfile @@ -2,7 +2,7 @@ # Production-ready multi-stage build for server deployment # Build arguments -ARG GO_VERSION=1.23.6 +ARG GO_VERSION=1.24.3 ARG ALPINE_VERSION=3.19 ARG APP_USER=appuser ARG APP_GROUP=appgroup diff --git a/Dockerfile.local b/Dockerfile.local index 901398e..f86e241 100644 --- a/Dockerfile.local +++ b/Dockerfile.local @@ -2,13 +2,13 @@ # Optimized for local development with hot reload # Build stage -FROM golang:1.23-alpine AS builder +FROM golang:1.24.3-alpine AS builder # Install necessary tools for development RUN apk add --no-cache git make gcc libc-dev # Install Air for hot reload -RUN go install github.com/cosmtrek/air@latest +RUN go install github.com/air-verse/air@latest # Set working directory WORKDIR /app diff --git a/Makefile b/Makefile index fcdbe07..7d76af8 100644 --- a/Makefile +++ b/Makefile @@ -42,23 +42,14 @@ help: init: @echo "Installing project dependencies and tools..." go mod tidy - go install github.com/cosmtrek/air@latest + go install github.com/air-verse/air@latest go install github.com/golangci/golangci-lint/cmd/golangci-lint@latest @echo "Creating necessary directories..." - mkdir -p tmp - mkdir -p logs - + if not exist tmp mkdir tmp + if not exist logs mkdir logs + @echo "Copying .env file if not exists..." - @if not exist .env ( - if exist templates\.env.example ( - copy templates\.env.example .env - @echo "Created .env file from example" - ) else ( - @echo "Warning: templates/.env.example not found, skipping .env creation" - ) - ) else ( - @echo ".env file already exists, skipping" - ) + @if not exist ".env" (if exist "templates\.env.example" (copy "templates\.env.example" ".env" & echo Created .env file from example) else (echo Warning: Could not create .env file)) else (echo .env file already exists, skipping) @echo "Initialization complete!" @@ -94,16 +85,16 @@ clean: # Build Docker image docker-build: @echo "Building Docker image..." - docker build -t ulflow-starter-kit:latest . + docker build -t ulflow-zee:latest . # Run application in Docker container docker-run: @echo "Running application in Docker container..." @if not exist .env ( @echo "Warning: .env file not found. Running with default environment variables..." - docker run -p 3000:3000 ulflow-starter-kit:latest + docker run -p 3000:3000 ulflow-zee:latest ) else ( - docker run -p 3000:3000 --env-file .env ulflow-starter-kit:latest + docker run -p 3000:3000 --env-file .env ulflow-zee:latest ) # Run Docker Compose for local development @@ -132,18 +123,22 @@ docker-compose-prod-down: setup-git-hooks: @echo "Setting up Git hooks..." git config --local commit.template .gitea/commit-template.txt - if not exist .git/hooks mkdir .git/hooks - copy /Y .gitea\hooks\pre-commit .git\hooks\ >nul - copy /Y .gitea\hooks\prepare-commit-msg .git\hooks\ >nul + + @REM Kiểm tra và tạo thư mục .git/hooks nếu chưa tồn tại + @if not exist .git\hooks (mkdir .git\hooks) + + @REM Sao chép các Git hooks + @echo Copying pre-commit hook... + @copy /Y .gitea\hooks\pre-commit .git\hooks\pre-commit >nul || (echo Warning: Could not copy pre-commit hook & exit /b 1) + @echo Copying prepare-commit-msg hook... + @copy /Y .gitea\hooks\prepare-commit-msg .git\hooks\prepare-commit-msg >nul || (echo Warning: Could not copy prepare-commit-msg hook & exit /b 1) + git config --local core.hooksPath .git/hooks @echo "Git setup complete!" # Create git message template setup-git-message: @echo "Creating Git commit message template..." - if not exist .gitea mkdir .gitea - mkdir -p .gitea - echo "# : \n\n# \n\n#