- Version : 1.0.0
- Auteur : Modjo Victor
- Date : Octobre 2025
- Technologie : Spring Boot 3 / Java 17+ / Springdoc OpenAPI 2.6.0
- Base de données : H2 (persistante)
- Documentation interactive : http://localhost:7777/swagger-ui.html
L'API Mail Automation permet la gestion des utilisateurs et l'envoi automatique d'e-mails de bienvenue aprÚs l'inscription. Elle est développée en Spring Boot et documentée via Swagger / OpenAPI.
- Créer et enregistrer des utilisateurs dans la base de données
- Envoyer automatiquement un mail de bienvenue aprĂšs chaque inscription
- Consulter la liste complÚte des utilisateurs enregistrés
- Permettre une documentation interactive et testable via Swagger
| Outil / Framework | RĂŽle |
|---|---|
| Spring Boot 3 | Cadre principal de développement |
| Spring Web | Exposition des endpoints REST |
| Spring Data JPA | AccÚs et persistance des données |
| H2 Database | Base de données légÚre et intégrée |
| Springdoc OpenAPI | Génération automatique de la documentation Swagger |
| Lombok | Réduction du code boilerplate (constructeurs, getters/setters) |
| JavaMailSender (Spring) | Service d'envoi d'e-mails |
| Maven | Gestion des dépendances |
com.example.mailapi
âââ controller
â âââ UserController.java
âââ entity
â âââ Users.java
âââ repository
â âââ UserRepository.java
âââ service
â âââ EmailService.java
âââ config
â âââ OpenApiConfig.java
âââ AutomaticMailApplication.java
http://localhost:7777/api/users
Crée un nouvel utilisateur et lui envoie automatiquement un e-mail de bienvenue.
Content-Type : application/json
{
"username": "Alice Dupont",
"email": "alice.dupont@example.com"
}Type : application/json
Exemple de réponse :
{
"id": 1,
"username": "Alice Dupont",
"email": "alice.dupont@example.com"
}| Code | Signification |
|---|---|
| 200 | Utilisateur créé et e-mail envoyé avec succÚs |
| 400 | Données invalides ou incomplÚtes |
| 500 | Erreur interne (ex : échec de l'envoi d'e-mail) |
Objet : Bienvenue sur Mail Automation, Alice Dupont đ
Bonjour Alice Dupont,
Nous sommes heureux de vous compter parmi nous !
Votre inscription a bien été enregistrée.
L'équipe Mail Automation.
RécupÚre la liste complÚte de tous les utilisateurs enregistrés dans la base de données.
Aucun paramĂštre requis.
Type : application/json
Exemple de réponse :
[
{
"id": 1,
"username": "Alice Dupont",
"email": "alice.dupont@example.com"
},
{
"id": 2,
"username": "Marc Tchoumi",
"email": "marc.tchoumi@example.com"
}
]| Code | Signification |
|---|---|
| 200 | Liste récupérée avec succÚs |
| 500 | Erreur interne du serveur |
| Champ | Type | Description |
|---|---|---|
| id | Long | Identifiant unique de l'utilisateur (auto-généré) |
| username | String | Nom d'utilisateur |
| String | Adresse e-mail utilisée pour l'envoi automatique |
Exemple de représentation JSON :
{
"id": 1,
"username": "Jean Koffi",
"email": "jean.koffi@example.com"
}Assure l'envoi automatique des e-mails de bienvenue à chaque nouvel utilisateur enregistré.
public void welcomeMessage(String email, String username);- Envoie un e-mail Ă l'adresse fournie.
- Le contenu du message inclut une salutation personnalisée basée sur le username.
@Configuration
@OpenAPIDefinition(
info = @Info(
title = "Mail Automation API",
version = "1.0",
contact = @Contact(name = "by Modjo Victor", email = "yvankamsu88@gmail.com", url = "https://modjovictor.vercel.app"),
description = "cette api permet d'envoi l'heure automatique aux utilisateur inscrits"
)
)
public class OpenApiConfig {
}| Interface | URL |
|---|---|
| Swagger UI | http://localhost:7777/swagger-ui.html |
| Spécification JSON (OpenAPI) | http://localhost:7777/api-docs |
L'API peut ĂȘtre Ă©tendue avec une authentification par token (JWT) ou HTTP Basic pour protĂ©ger les endpoints. Ă ce stade, les routes sont publiques pour faciliter les tests.
- Utiliser des adresses e-mail valides pour tester le service d'envoi automatique.
- Si tu veux une base persistante :
spring.datasource.url=jdbc:h2:file:./data/maildb - Ne pas oublier d'activer les App Passwords Gmail si tu utilises smtp.gmail.com.
- Documenter toute nouvelle méthode avec les annotations @Operation et @ApiResponse.
Une fois ton application dĂ©marrĂ©e, accĂšde Ă : đ http://localhost:7777/swagger-ui.html
Tu verras :
Mail Automation API
âââ POST /api/users â CrĂ©er un nouvel utilisateur (et envoyer un mail)
âââ GET /api/users â Lister tous les utilisateurs
Chaque endpoint aura :
- Un formulaire interactif
- Une description claire
- Une réponse JSON détaillée
| ĂlĂ©ment | Valeur |
|---|---|
| Version actuelle | 1.0.0 |
| DerniĂšre mise Ă jour | 16 octobre 2025 |
| Langage principal | Java 17 |
| Framework | Spring Boot 3 |
| Auteur / Responsable | Victor Modjo |
| Contact support | https://modjovictor.vercel.app/contact |
Ce projet est distribuĂ© sous licence MIT. Vous ĂȘtes libre de le rĂ©utiliser, modifier et partager, Ă condition de conserver la mention d'auteur.
Développé avec passion et pédagogie pour illustrer la création d'une API Spring Boot complÚte, documentée et automatisée.