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.