À propos du projet
Create Go App CLI (cgapp) est un outil en ligne de commande pour générer de nouveaux projets combinant un backend Go, un frontend JavaScript ou TypeScript et l'automatisation du déploiement. Son objectif est de permettre aux développeurs de se concentrer sur le code de l'application et la logique métier en gérant l'échafaudage du projet et la configuration du déploiement.
Les options d'installation incluent :
- go install github.com/create-go-app/cli/v4/cmd/cgapp@latest (nécessite Go 1.21 ou supérieur)
- Homebrew (brew tap create-go-app/tap ; brew install create-go-app/tap/cgapp)
- Paquets deb, rpm, apk ou Arch Linux préconstruits depuis la page des releases
- Une image Docker pour une utilisation isolée (la commande deploy n'est pas disponible dans cette image)
Commandes principales :
- cgapp create [OPTION] : crée un nouveau projet via une interface console interactive. L'option -t permet d'utiliser des modèles de backend et de frontend personnalisés.
- cgapp deploy [OPTION] : déploie des conteneurs Docker sur un serveur distant via Ansible. Nécessite Python 3.8+ et Ansible 2.9+ sur la machine locale. L'option -k demande le mot de passe sudo de l'utilisateur distant.
Modèles de backend :
- net/http : API REST simple avec CRUD et authentification JWT
- Fiber : API REST complexe avec CRUD, authentification JWT avec renouvellement de jeton, DB et cache
- go-chi : application de base avec vérification de l'état (health check)
Modèles de frontend :
Le frontend est généré avec Vite.js, il peut donc utiliser les versions actuelles de React, Preact, Vue, Svelte, Solid, Lit, Qwik, ou JavaScript/TypeScript pur. Next.js et Nuxt sont générés avec create-next-app et nuxi. Des variantes JavaScript et TypeScript sont proposées pour la plupart des options, notamment react, react-swc, preact, vue, svelte, solid, lit, qwik, vanilla, next, nuxt et sveltekit. La version 7 ou supérieure de npm est requise pour la génération du frontend.
Rôles Ansible préconfigurés :
- Serveur Web/proxy : Traefik (traefik, traefik-acme-dns) et Nginx (nginx). Traefik est recommandé depuis la v2.0.0 pour les certificats SSL automatiques de Let's Encrypt et une interface Web.
- Base de données : PostgreSQL (postgres) avec application des migrations backend.
- Cache : Redis (redis) pour l'utilisation backend.
La documentation du projet, la FAQ, les discussions et les problèmes sont disponibles via le wiki et le dépôt GitHub. Le projet est sous licence Apache 2.0.
Comments
0 Rating appears after 10 ratings
Sign in to join the discussion.