프로젝트 소개

Create Go App CLI (cgapp)는 Go 백엔드, JavaScript 또는 TypeScript 프론트엔드, 그리고 배포 자동화가 결합된 새로운 프로젝트를 생성하는 명령줄 도구입니다. 이 도구는 프로젝트 스캐폴딩과 배포 설정을 처리함으로써 개발자가 애플리케이션 코드와 비즈니스 로직에 집중할 수 있도록 하는 것을 목표로 합니다. 설치 옵션은 다음과 같습니다: - go install github.com/create-go-app/cli/v4/cmd/cgapp@latest (Go 1.21 이상 필요) - Homebrew (brew tap create-go-app/tap; brew install create-go-app/tap/cgapp) - 릴리스 페이지에서 제공하는 사전 빌드된 deb, rpm, apk 또는 Arch Linux 패키지 - 격리된 사용을 위한 Docker 이미지 (해당 이미지에서는 deploy 명령어를 사용할 수 없음) 주요 명령어: - cgapp create [OPTION]: 대화형 콘솔 UI를 통해 새 프로젝트를 생성합니다. -t 옵션을 통해 사용자 정의 백엔드 및 프론트엔드 템플릿을 사용할 수 있습니다. - cgapp deploy [OPTION]: Ansible을 통해 원격 서버에 Docker 컨테이너를 배포합니다. 로컬 머신에 Python 3.8+ 및 Ansible 2.9+가 필요합니다. -k 옵션은 원격 사용자 sudo 비밀번호를 요청합니다. 백엔드 템플릿: - net/http: CRUD 및 JWT 인증이 포함된 단순 REST API - Fiber: CRUD, 토큰 갱신 기능이 포함된 JWT 인증, DB 및 캐시가 포함된 복잡한 REST API - go-chi: 상태 확인(health check) 기능이 포함된 기본 애플리케이션 프론트엔드 템플릿: 프론트엔드는 Vite.js로 생성되므로 React, Preact, Vue, Svelte, Solid, Lit, Qwik 또는 순수 JavaScript/TypeScript의 최신 버전을 사용할 수 있습니다. Next.js와 Nuxt는 create-next-app 및 nuxi로 생성됩니다. react, react-swc, preact, vue, svelte, solid, lit, qwik, vanilla, next, nuxt, sveltekit을 포함한 대부분의 옵션에 대해 JavaScript 및 TypeScript 변형이 제공됩니다. 프론트엔드 생성을 위해서는 npm 버전 7 이상이 필요합니다. 사전 구성된 Ansible 역할: - 웹/프록시 서버: Traefik (traefik, traefik-acme-dns) 및 Nginx (nginx). v2.0.0부터는 Let's Encrypt의 자동 SSL 인증서와 웹 UI를 제공하는 Traefik이 권장됩니다. - 데이터베이스: 백엔드 마이그레이션이 적용된 PostgreSQL (postgres). - 캐시: 백엔드용 Redis (redis). 프로젝트 문서, FAQ, 토론 및 이슈는 GitHub 위키와 저장소를 통해 확인할 수 있습니다. 이 프로젝트는 Apache 2.0 라이선스 하에 제공됩니다.