Documentation Spring-Fullstack-Speed
Version actuelle: v1.0.4
Spring-Fullstack-Speed (SFS) est un générateur de code CLI qui permet de créer rapidement des applications web fullstack modernes avec Spring Boot comme backend et divers frameworks frontend (React, Vue.js, Angular, Thymeleaf, JTE).
Inspiré par JHipster, ce projet vise à simplifier et accélérer le développement d'applications Java enterprise en automatisant la génération de code boilerplate et l'intégration des technologies modernes.
Fonctionnalités clés
- Génération complète d'applications Spring Boot avec frontend intégré
- Création automatique d'entités, DTOs et opérations CRUD
- Configuration de sécurité prête à l'emploi (JWT, OAuth2)
- Support pour plusieurs bases de données (MySQL, PostgreSQL, MongoDB, H2)
- Système de paiement complet avec support pour Stripe, PayPal et autres NOUVEAU
Nouveautés de la version 1.0.4
Cette version introduit le nouveau système de paiement avec:
Système de Paiement
Intégration facile avec les principaux fournisseurs de paiement
Abonnements
Gestion complète des abonnements et paiements récurrents
Facturation
Génération automatique et gestion des factures
Support international
Prise en charge de plus de 135 devises différentes
Installation
Prérequis
- Node.js : v20.0.0 ou supérieure
- NPM : v10.0.0 ou supérieure
- Java : JDK 17 ou supérieure
- Maven ou Gradle : pour la compilation des projets Spring Boot
Méthodes d'installation
Installation globale (recommandée)
npm install -g @enokdev/spring-fullstack-speed
Cette méthode installe SFS globalement sur votre système, ce qui vous permet d'utiliser la commande sfs depuis n'importe quel répertoire.
Utilisation avec npx
npx @enokdev/spring-fullstack-speed
Cette méthode permet d'utiliser SFS sans installation préalable. Cependant, chaque utilisation téléchargera temporairement le package.
Vérification de l'installation
sfs --version
Cette commande devrait afficher la version actuelle de SFS installée sur votre système.
Commandes principales
Spring-Fullstack-Speed offre plusieurs commandes pour générer différents aspects de votre application:
| Commande | Description | Alias |
|---|---|---|
sfs app |
Génère une nouvelle application Spring Boot fullstack | - |
sfs entity |
Génère une nouvelle entité avec son repository | sfs e |
sfs dtos |
Génère des DTOs pour une entité existante | sfs d |
sfs crud |
Génère les opérations CRUD pour une entité | sfs c |
sfs module |
Génère un nouveau module fonctionnel | - |
sfs generate |
Génération rapide de code (entités, DTOs, CRUD) | sfs g |
sfs serve |
Démarre un serveur de développement | sfs s |
sfs test |
Exécute différents types de tests | sfs t |
sfs deploy |
Options de déploiement (serveurs, cloud, k8s) | - |
sfs docker |
Gestion des conteneurs Docker | - |
sfs kubernetes |
Gestion des déploiements Kubernetes | sfs k8s |
Aide et options
Pour afficher l'aide sur une commande spécifique, utilisez l'option --help ou -h:
sfs entity --help
Génération d'application
La commande sfs app est le point de départ pour créer une nouvelle application Spring Boot fullstack.
Utilisation basique
sfs app
Cette commande lance un processus interactif qui vous guidera à travers les différentes options de configuration.
Options disponibles
Pour une génération non interactive, vous pouvez spécifier les options directement:
sfs app --name=my-app --package=com.example --db=mysql --frontend=react
| Option | Description | Valeurs possibles | Défaut |
|---|---|---|---|
--name |
Nom de l'application | String | my-app |
--package |
Package Java de base | String (format package Java) | com.example |
--db |
Base de données | h2, mysql, postgresql, mongodb | h2 |
--frontend |
Framework frontend | none, react, vue, angular, thymeleaf, jte | react |
--auth |
Type d'authentification | none, jwt, oauth2, session | jwt |
--build |
Outil de build | maven, gradle | maven |
--features |
Fonctionnalités supplémentaires | websocket, cache, elasticsearch, ... | [] |
Structure générée
L'application générée suit une structure standard d'un projet Spring Boot:
my-app/
├── README.md
├── pom.xml (ou build.gradle)
├── mvnw / gradlew
├── .gitignore
├── src/
│ ├── main/
│ │ ├── java/
│ │ │ └── com/
│ │ │ └── example/
│ │ │ ├── MyAppApplication.java
│ │ │ ├── config/
│ │ │ ├── controller/
│ │ │ ├── domain/
│ │ │ ├── dto/
│ │ │ ├── repository/
│ │ │ ├── security/
│ │ │ └── service/
│ │ └── resources/
│ │ ├── application.yml
│ │ ├── static/
│ │ └── templates/
│ └── test/
│ └── java/
│ └── com/
│ └── example/
│ ├── MyAppApplicationTests.java
│ └── ...
├── frontend/ (si un framework frontend est sélectionné)
│ ├── package.json
│ ├── vite.config.js / webpack.config.js / angular.json
│ ├── public/
│ ├── src/
│ │ ├── components/
│ │ ├── pages/
│ │ └── ...
│ └── ...
└── docker/
├── Dockerfile
└── docker-compose.yml
Système de Paiement NOUVEAU
Le système de paiement de Spring-Fullstack-Speed v1.0.4 permet d'intégrer facilement des solutions de paiement complètes et sécurisées dans votre application Spring Boot.
Utilisation basique
sfs payment
Cette commande lance un processus interactif pour configurer le système de paiement.
Options disponibles
Pour une configuration non interactive, spécifiez les options directement:
sfs payment --provider=stripe,paypal --subscription=true --invoicing=true --taxes=true
| Option | Description | Valeurs possibles | Défaut |
|---|---|---|---|
--provider |
Fournisseurs de paiement à intégrer | stripe, paypal, braintree, adyen, mollie | stripe |
--subscription |
Activer la gestion des abonnements | true, false | false |
--invoicing |
Activer le système de facturation | true, false | false |
--taxes |
Configurer la gestion des taxes | true, false | false |
--refunds |
Implémenter la gestion des remboursements | true, false | false |
--reporting |
Générer des rapports financiers | true, false | false |
--mobile-pay |
Activer le paiement mobile | true, false | false |
--international |
Support des devises internationales | true, false | false |
--fraud-detection |
Ajouter la détection de fraude | true, false | false |
Fournisseurs de paiement
SFS v1.0.4 prend en charge plusieurs fournisseurs de paiement:
Stripe
Stripe est un fournisseur de services de paiement en ligne leader sur le marché. Pour l'utiliser, créez un compte sur stripe.com et obtenez vos clés API.
PayPal
PayPal est un système de paiement en ligne populaire. Inscrivez-vous sur developer.paypal.com pour obtenir vos identifiants API.
Braintree
Braintree (une société PayPal) offre des solutions de paiement flexibles. Créez un compte sur braintreepayments.com.
Adyen NOUVEAU
Adyen est une plateforme de paiement internationale avec support avancé pour les paiements locaux. Inscrivez-vous sur adyen.com.
Mollie NOUVEAU
Mollie est une solution de paiement européenne populaire avec une API intuitive. Créez un compte sur mollie.com.
Abonnements
Le système de paiement inclut une gestion complète des abonnements pour les modèles économiques récurrents:
- Création et gestion de plans d'abonnement
- Cycle de facturation (mensuel, annuel, personnalisé)
- Périodes d'essai gratuites
- Gestion des upgrades/downgrades
- Annulations et pauses d'abonnements
// Exemple de création d'un abonnement
SubscriptionDTO subscription = subscriptionService.createSubscription(
"customer123",
"plan_premium_monthly",
"pm_card_visa"
);
Factures
La fonctionnalité de facturation permet de:
- Générer des factures automatiquement lors d'un paiement
- Envoyer des factures par email
- Personnaliser le format et le style des factures
- Gérer l'historique des factures
- Générer des factures multilingues NOUVEAU
Remboursements
Le système offre des fonctionnalités complètes pour les remboursements:
- Remboursements complets
- Remboursements partiels
- Suivi des motifs de remboursement
- Historique des remboursements
- Remboursements programmés NOUVEAU
// Exemple de remboursement partiel
RefundDTO refund = refundService.partialRefund(
"payment_123",
new BigDecimal("30.00"),
"Remboursement partiel suite à un problème de livraison"
);
Rapports financiers
Générez des rapports financiers détaillés:
- Rapports de revenus (journaliers, mensuels, annuels)
- Rapports de transactions
- Rapports clients
- Exports en PDF et Excel
- Tableaux de bord interactifs NOUVEAU
- Prévisions de revenus NOUVEAU
Support international NOUVEAU
La version 1.0.4 ajoute un support complet pour les paiements internationaux:
- Support de plus de 135 devises
- Conversion de devise automatique
- Méthodes de paiement locales selon les pays
- Gestion fiscale internationale (TVA, taxes de vente, etc.)
Paiement mobile NOUVEAU
La version 1.0.4 prend en charge les méthodes de paiement mobile modernes:
- Apple Pay avec intégration native
- Google Pay avec boutons personnalisables
- Paiements par QR code
- Optimisation pour les appareils mobiles
// Configuration de Spring dans application.yml
sfs:
payment:
provider: stripe
webhook-endpoint: /api/webhook/stripe
currency: EUR
stripe:
api-key: ${STRIPE_API_KEY}
webhook-secret: ${STRIPE_WEBHOOK_SECRET}
Pour une documentation complète sur le système de paiement, consultez la documentation dédiée.
FAQ - Questions fréquemment posées
Comment mettre à jour Spring-Fullstack-Speed ?
Pour mettre à jour vers la dernière version, utilisez la commande suivante :
npm update -g @enokdev/spring-fullstack-speed
Comment ajouter le système de paiement à un projet existant ?
Pour ajouter le système de paiement à un projet SFS existant, utilisez la commande :
cd mon-projet
sfs payment --provider=stripe
Puis-je personnaliser les templates générés ?
Oui, vous pouvez personnaliser les templates en créant un dossier ~/.sfs/templates/ et en y copiant les templates que vous souhaitez modifier. SFS utilisera automatiquement vos templates personnalisés.
Comment signaler un bug ou proposer une amélioration ?
Vous pouvez signaler des bugs ou proposer des améliorations en ouvrant une issue sur notre dépôt GitHub.