firebase-nextjs-generator
v0.1.1
Published
đ GĂ©nĂ©rateur complet pour projets Firebase + Next.js avec App Hosting, API routes, PWA, et plus !
Maintainers
Readme
đ GĂ©nĂ©rateur Firebase + Next.js 2025 avec App Hosting
Générateur de projet complet pour applications Firebase + Next.js avec API routes complÚtes et architecture moderne (Version Beta 0.1.0)
đ Table des matiĂšres
- đ Vue d'ensemble
- ⚠Fonctionnalités
- đïž Architecture
- đŠ Installation
- đŻ Utilisation
- đ§Ș Tests et QualitĂ©
- đ§ DĂ©veloppement
- đ€ Contribution
- đ License
đ Vue d'ensemble
Le Générateur Firebase + Next.js 2025 avec App Hosting est un outil puissant qui automatise la création de projets web modernes combinant :
- Frontend : Next.js 15 avec App Router, React 18, TypeScript 5.5
- Backend : Firebase App Hosting avec API routes complĂštes
- Architecture : Multi-environnements, PWA, FCM, Monitoring
- DevOps : CI/CD automatisé, 132 tests complets, déploiement
đŻ Objectifs
- Rapidité : Génération de projet en moins de 2 minutes
- Qualité : Code production-ready avec bonnes pratiques
- Flexibilité : Configuration adaptée à chaque projet
- Maintenance : Architecture évolutive et maintenable
- Tests : 132 tests complets garantissant la fiabilité
đ NOUVEAUTĂ MAJEURE : Firebase App Hosting avec API Routes
Votre générateur supporte maintenant Firebase App Hosting avec API routes complÚtes !
- â API routes Next.js : ComplĂštement supportĂ©es
- â SSR/SSG : Possible via Cloud Functions
- â Middleware : SupportĂ©
- â Dynamic routes : Fonctionnels
- â ĂcosystĂšme Firebase : 100% intĂ©grĂ©
⚠Fonctionnalités
đš Frontend (Next.js 15)
- Framework moderne : Next.js 15 avec App Router
- React 18 : Version stable et performante
- TypeScript 5.5 : Typage strict et avancé
- UI Frameworks : Material-UI (MUI) â
- State Management : Zustand ou Redux Toolkit
- Data Fetching : React Query (TanStack Query)
- PWA : Service Worker, manifest, offline support
- FCM : Notifications push Firebase
- Analytics : Firebase Analytics intégré
- Performance : Monitoring et optimisation
đ„ Backend (Firebase App Hosting)
- Firebase App Hosting : Déploiement avec API routes complÚtes
- Firestore : Base de données NoSQL avec rÚgles de sécurité
- Cloud Functions : Backend serverless Node.js 20
- Authentication : SystĂšme d'auth complet avec triggers
- Storage : Stockage de fichiers sécurisé
- Extensions : IntĂ©grations Firebase prĂȘtes Ă l'emploi
- API Routes : Support complet des routes API Next.js
đ DevOps & Monitoring
- Multi-environnements : dev, staging, production
- CI/CD : GitHub Actions automatisé
- Monitoring : Sentry, Firebase Performance
- Logs : Winston avec structure avancée
- Health Checks : Endpoints de monitoring
- Backup : Sauvegarde automatique
- Tests : 132 tests complets automatisés
đïž Architecture
đ Structure du gĂ©nĂ©rateur
firebase-nextjs-generator/
âââ src/ # Code source du gĂ©nĂ©rateur
â âââ cli.ts # Point d'entrĂ©e CLI
â âââ generator.ts # GĂ©nĂ©rateur principal
â âââ generators/ # GĂ©nĂ©rateurs spĂ©cifiques
â â âââ firebase-generator.ts # GĂ©nĂ©rateur Firebase App Hosting
â â âââ nextjs-generator.ts # GĂ©nĂ©rateur Next.js
â âââ types/ # Types TypeScript
â âââ utils/ # Utilitaires
âââ templates/ # Templates Handlebars
â âââ nextjs/ # Templates Next.js (API routes)
â âââ firebase/ # Templates Firebase App Hosting
â â âââ firebase.json # Configuration sans hosting statique
â â âââ firebase-app-hosting.json # Configuration App Hosting
â âââ scripts/ # Scripts d'initialisation
âââ scripts/ # Scripts de test (132 tests)
â âââ test.sh # Orchestrateur principal
â âââ test-comprehensive.sh # 132 tests complets
âââ docs/ # Documentation complĂšte
âââ dist/ # Build de productionđ Flux de gĂ©nĂ©ration
Configuration â Validation â GĂ©nĂ©ration â Post-traitement â Instructions
â â â â â
CLI Input Validation Templates Scripts README
Prompts Rules Handlebars Setup Instructionsđïž Architecture Firebase App Hosting
âââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââ
â Firebase App Hosting â
âââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââ€
â Frontend (.next/) â API Routes (/api/*) â Cloud Functions â
â âââ Pages â âââ /api/auth â âââ Triggers â
â âââ Components â âââ /api/users â âââ Scheduled â
â âââ Styles â âââ /api/data â âââ HTTP â
â âââ Static â â â
âââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââđŠ Installation
đ Installation rapide (recommandĂ©e)
# Installation globale
npm install -g firebase-nextjs-generator
# Utilisation immédiate
firebase-nextjs-generator create --name "mon-projet" --yesđ„ Installation depuis le source
# Cloner le repository
git clone https://github.com/oliviermichalowicz/firebase-nextjs-generator.git
cd firebase-nextjs-generator
# Installation des dépendances
npm install
# Build du projet
npm run build
# Utilisation
npx ts-node src/cli.ts create --name "mon-projet" --yesPrérequis
- Node.js : 18.0.0 ou supérieur
- npm : 9.0.0 ou supérieur
- Firebase CLI : 14.0.0 ou supérieur
- Git : Pour le contrĂŽle de version
Installation globale
npm install -g firebase-nextjs-generatorInstallation locale
git clone https://github.com/your-username/firebase-nextjs-generator.git
cd firebase-nextjs-generator
npm install
npm run buildđŻ Utilisation
đ GĂ©nĂ©ration rapide
# Génération interactive
firebase-nextjs-generator create
# Génération avec options
firebase-nextjs-generator create --name my-app --template defaultđ Processus de gĂ©nĂ©ration
Configuration du projet
- Nom et description
- Choix des fonctionnalités (MUI, Zustand/Redux, PWA)
- Configuration des environnements
Configuration Firebase App Hosting
- Liaison à un projet existant ou création
- Configuration des régions
- Sélection des extensions
- Configuration App Hosting avec API routes
Génération des fichiers
- Structure du projet Next.js avec API routes
- Templates Handlebars pour Firebase App Hosting
- Configuration des outils
Installation des dépendances
- Packages npm
- Configuration TypeScript
- Scripts de build
đ DĂ©ploiement Firebase App Hosting
# 1. Build de l'application Next.js
cd frontend
npm run build
# 2. Déploiement Firebase complet
cd ../backend
firebase deploy
# 3. Ou déploiement sélectif
firebase deploy --only hosting
firebase deploy --only functions
firebase deploy --only firestoređ§Ș Tests et QualitĂ©
đŻ 132 Tests Complets AutomatisĂ©s
Votre générateur est testé par 132 tests complets répartis en 30 phases :
Phases de test principales :
- Phase 1-5 : Tests d'environnement, build, CLI, génération
- Phase 6-10 : Tests de fonctionnalités, robustesse, templates
- Phase 11-15 : Tests Firebase, CI/CD, performance, sécurité
- Phase 16-20 : Tests d'internationalisation, robustesse, opérationnels
- Phase 21-25 : Tests d'intégration, end-to-end, déploiement
- Phase 26-30 : Tests Firebase réels, CI/CD, CLI avec validation dry-run
Tests Firebase App Hosting :
- â Configuration App Hosting : Validation complĂšte
- â API routes : Support et validation
- â Cloud Functions : Structure et configuration
- â Firestore : RĂšgles et indexes
- â Storage : RĂšgles et configuration
- â DĂ©ploiement : Validation en dry-run
đ ExĂ©cution des tests
# Test complet (132 tests) - RECOMMANDĂ
./scripts/test.sh
# Test direct du script complet
./scripts/test-comprehensive.sh
# Voir les résultats
./scripts/test.sh | tail -20đ RĂ©sultats des tests
# SuccĂšs complet (132/132)
đ Tous les tests ont rĂ©ussi !
đ Le gĂ©nĂ©rateur est 100% fonctionnel et prĂȘt pour la production !
# Ăchecs partiels
â X tests ont Ă©chouĂ©.
đ§ Des ajustements peuvent ĂȘtre nĂ©cessaires.đ§ Configuration des tests Firebase
Les tests utilisent votre projet Firebase sqyping-dev pour la validation réelle :
# Configuration automatique
firebase use sqyping-dev
# Validation des rĂšgles
firebase deploy --dry-run --only firestore:rules
firebase deploy --dry-run --only storage:rulesđ§ DĂ©veloppement
đ DĂ©marrage rapide
# Cloner le projet
git clone https://github.com/your-username/firebase-nextjs-generator.git
cd firebase-nextjs-generator
# Installer les dépendances
npm install
# Lancer en mode développement
npm run dev
# Exécuter les tests complets
./scripts/test.sh
# Build de production
npm run buildđ Structure du code
src/
âââ cli.ts # Point d'entrĂ©e CLI
âââ generator.ts # GĂ©nĂ©rateur principal
âââ generators/ # GĂ©nĂ©rateurs spĂ©cifiques
â âââ firebase-generator.ts # GĂ©nĂ©rateur Firebase App Hosting
â âââ nextjs-generator.ts # GĂ©nĂ©rateur Next.js avec API routes
âââ types/ # Types TypeScript
â âââ index.ts
âââ utils/ # Utilitaires
â âââ template-engine.ts
â âââ validator.ts
âââ tests/ # Tests
âââ unit/
âââ integration/
âââ e2e/đ§Ș Tests
# Tests complets (132 tests)
./scripts/test.sh
# Tests en mode watch
npm run test:watch
# Tests d'intégration
npm run test:integration
# Couverture de code
npm run test:coverage
# Tests E2E
npm run test:e2eđ Linting et formatage
# Linting
npm run lint
# Correction automatique
npm run lint:fix
# Formatage
npm run format
# Vérification des types
npm run type-checkđ FONCTIONNALITĂS AVANCĂES
đ„ Firebase App Hosting avec API Routes
Votre générateur supporte maintenant Firebase App Hosting avec API routes complÚtes !
Configuration automatique :
// firebase-app-hosting.json
{
"hosting": {
"public": "frontend/.next",
"rewrites": [
{
"source": "/api/**",
"function": "nextjs-api"
}
]
}
}Avantages :
- â API routes Next.js : ComplĂštement supportĂ©es
- â SSR/SSG : Possible via Cloud Functions
- â Middleware : SupportĂ©
- â Dynamic routes : Fonctionnels
- â ĂcosystĂšme Firebase : 100% intĂ©grĂ©
đš UI Frameworks SupportĂ©s
- â Material-UI (MUI) : Composants, thĂšmes, configuration
- â Shadcn/ui : Plus supportĂ© (remplacĂ© par MUI)
đ State Management
- â Zustand : Stores lĂ©gers et performants
- â Redux Toolkit : Gestion d'Ă©tat avancĂ©e
đ Versions SupportĂ©es
- â Next.js 14 : Configuration et fonctionnalitĂ©s
- â Next.js 15 : Configuration et fonctionnalitĂ©s
- â React 18 : Version stable et performante
đ€ Contribution
đ Guide de contribution
- Fork le projet
- Clone votre fork
- Créez une branche feature
- Commitez vos changements
- Poussez vers votre branche
- Ouvrez une Pull Request
đ Signaler un bug
- Utilisez les Issues GitHub
- Décrivez le problÚme clairement
- Incluez les étapes de reproduction
- Ajoutez les logs d'erreur
đĄ Proposer une fonctionnalitĂ©
- Créez une Issue avec le label "enhancement"
- Décrivez la fonctionnalité souhaitée
- Expliquez l'utilité et l'impact
- Proposez une implémentation
đ Standards de code
- TypeScript strict
- ESLint + Prettier
- Tests unitaires obligatoires (132 tests)
- Documentation Ă jour
đ License
Ce projet est sous licence MIT. Voir le fichier LICENSE pour plus de détails.
đ Remerciements
- Firebase Team pour la plateforme et App Hosting
- Vercel pour Next.js et l'App Router
- React Team pour React 18
- Communauté open source pour les contributions
đŻ RĂSUMĂ DES CHANGEMENTS MAJEURS
â NOUVEAU : Firebase App Hosting
- API routes Next.js : ComplÚtement supportées
- Configuration unifiée : Firebase + Next.js
- Déploiement simplifié :
firebase deploy
â NOUVEAU : 132 Tests Complets
- Validation automatique : Tous les composants
- Tests Firebase réels : Avec votre projet
sqyping-dev - Tests dry-run : Validation sans déploiement
â NOUVEAU : Architecture ModernisĂ©e
- Next.js 15 : App Router et API routes
- React 18 : Version stable et performante
- MUI uniquement : Shadcn/Tailwind supprimés
â NOUVEAU : Scripts de Test UnifiĂ©s
test.sh: Orchestrateur principaltest-comprehensive.sh: 132 tests complets- Isolation automatique :
.test-artifacts/
â Si ce projet vous aide, n'oubliez pas de le star sur GitHub !
đ Votre gĂ©nĂ©rateur est maintenant 100% prĂȘt pour Firebase App Hosting avec API routes !
