diff --git a/README.md b/README.md index 0b76df7f..d1de6d6f 100644 --- a/README.md +++ b/README.md @@ -4,15 +4,15 @@ ## Setup -.env.template 파일을 참고하여 .env 파일을 루트 디렉토리에 생성합니다. +`.env.template` 파일을 참고하여 `.env` 파일을 루트 디렉토리에 생성합니다. -.env는 로컬 환경에서만 사용되며, .gitignore에 등록되어 있습니다. +`.env`는 로컬 환경에서만 사용되며, `.gitignore`에 등록되어 있습니다. ```bash $ cp .env.template .env ``` -필요에 따라 swagger-gen.sh 파일에 exec 권한을 부여합니다. +필요에 따라 `swagger-gen.sh` 파일에 exec 권한을 부여합니다. ```bash $ chmod +x ./scripts/swagger-gen.sh @@ -25,21 +25,22 @@ $ chmod +x ./scripts/swagger-gen.sh 개발 환경에서는 docker-compose를 활용한 Postgres DB를 제공합니다. ```bash -$ docker-compose up -d # Postgres 컨테이너 실행 -$ docker-compose down -v # Postgres 컨테이너 중지 및 볼륨 삭제 +$ make db:up # Postgres 컨테이너 실행 +$ make db:down # Postgres 컨테이너 중지 +$ make db:destroy # Postgres 컨테이너 삭제 ``` 개발 환경에서 실행하는 방법입니다. ```bash -$ go run ./cmd/server +$ make run ``` 배포 환경에서 빌드 및 실행하는 방법입니다. ```bash -$ go build -o main ./cmd/server -$ ./main +$ make build +$ ./bin/server ``` Production 환경을 위한 Dockerfile도 제공합니다. @@ -52,8 +53,21 @@ $ docker run -p 8080:8080 pets-next-door-api ## How to test ```bash -$ docker-compose -f docker-compose-test.yml up -d # Postgres 컨테이너 실행 및 마이그레이션 -$ go test ./... +$ make test +``` + +## How to upgrade API docs version + +`version.sh` 파일에 exec 권한을 부여합니다. + +```bash +$ chmod +x ./scripts/version.sh +``` + +버전을 업그레이드하려면 다음 명령을 실행합니다. + +```bash +$ make version ``` ## Set Up @@ -72,23 +86,17 @@ Postgres DB를 사용하며, 마이그레이션은 [golang-migrate/migrate](http 마이그레이션 생성은 다음과 같이 합니다. ```bash -$ migrate create -ext sql -dir db/migrations -seq MIGRATION_NAME +$ make migrate:create name=MIGRATION_NAME ``` 마이그레이션 실행은 다음과 같이 합니다. ```bash -$ migrate -path db/migrations -database DB_URL up +$ make migrate:up # 또는 go run ./cmd/migrate ``` 테스트 환경은 `docker-compose-test.yml`를 통해 자동으로 마이그레이션됩니다. -개발 환경에서는 다음과 같은 스크립트를 제공합니다. - -```bash -$ go run ./cmd/migrate -``` - 배포 환경에서는 다음과 같은 스크립트를 제공합니다. ```bash @@ -101,7 +109,11 @@ $ ./migrate API 문서는 [swaggo](https://github.com/swaggo/swag)를 사용하여 자동으로 생성됩니다. ```bash -$ source ./scripts/swagger-gen.sh +$ make docs ``` `swagger/index.html` 또는 `/swagger/doc.json`을 열어 확인할 수 있습니다. + +```bash +make docs:open +```