api.inssa.club의 clubhouse 관련 서비스입니다.
serverless framework를 기반으로하여 serverless.yml 이 작성되어 있습니다.
로컬에서 debug 모드 및 release 모드 serverless 환경에서 apex gateway를 통한 release 모드를 지원합니다.
- cmd/server
- 메인 프로젝트 디렉토리
- 그 안의 구조는 생략
- configs
- 환경변수와 같은 설정 파일이 담겨있는 곳
실행에 필요한 환경 변수는 configs/envs.go 에서 확인 할 수 있습니다.
프로젝트의 root에서, 필요한 패키지들을 다운 받기 위해 다음의 명령을 실행해주세요.
go mod tidy
다음의 명령어로 프로젝트를 실행 할 수 있습니다.
make run
make build
go build -ldflags="-s -w" -o bin/main cmd/server/main.go
코드를 실행 하여 /swagger/index.html 로 이동하면, 그 곳에서 문서를 얻고 api들을 테스트 할 수 있습니다.
기본 적으로 8080 포트에서 열리기 때문에, http://localhost:8080/swagger/index.html에서 접근 할 수 있습니다.
코드를 실행하지 않고 직접 json이나 yaml로 된 문서 파일을 얻고 싶다면, cmd/server/docs 에서 docs.json과 docs.yaml을 얻을 수 있습니다.
본 프로젝트의 문서화는 swagger, gin-swagger 을 통해 진행되었습니다. 따라서 자동화된 방식으로 문서 생성을 합니다.
변경사항이 생겼다면 다음의 명령어로 진행 할 수 있습니다.
make docs