TAKKU - Générateur de Projets
Application interne DYNORS - Création automatique de projets DYNORS
🎯 Objectif
TAKKU est le générateur de projets DYNORS. Il crée automatiquement la structure complète d'un nouveau projet (backend Spring Boot + frontend Angular/React) avec toute la configuration CORE (multi-tenancy, sécurité, DB) pré-intégrée.
Gain de temps : 1-2 jours → 5 minutes
📋 Informations Générales
| Propriété | Valeur |
|---|---|
| Nom | TAKKU |
| Type | Application interne |
| Domaine | Génération code, Scaffolding |
| Port | 8083 |
| Repository | dynors-internal/applications/takku |
| Status | ⏳ Développement |
🏗️ Architecture
Stack Technique
- Backend : Java 17, Spring Boot 3.2
- Générateur : Python 3.10+ (Jinja2 templates)
- Base de données : PostgreSQL 15
- Templates : GitHub Templates DYNORS
✨ Fonctionnalités
1. Génération Projet
- ✅ Backend Spring Boot 3.2 (Java 17)
- ✅ Frontend Angular 17 / React 18
- ✅ Configuration CORE (security, db, events)
- ✅ Docker Compose local
- ✅ GitLab CI/CD
- ✅ README + Documentation
2. Templates Disponibles
| Template | Backend | Frontend | Usage |
|---|---|---|---|
| SPRING_BOOT_STANDARD | Spring Boot | Angular | Apps métier classiques |
| SPRING_BOOT_MICROSERVICE | Spring Boot | React | Microservices |
| SPRING_BOOT_MINIMAL | Spring Boot | Aucun | APIs backend only |
3. Configuration Multi-tenant
- ✅ Création tenant automatique
- ✅ Configuration schéma DB
- ✅ Rôles et permissions
- ✅ JWT secret
🚀 Flux de Génération
1. Utilisateur → TAKKU : Formulaire création projet
Inputs:
- Nom projet (ex: "DAWALALE")
- Code application (ex: "DAW")
- Template (SPRING_BOOT_STANDARD)
- Modules CORE (security, db, events)
↓
2. TAKKU : Valide inputs + génère structure
↓
3. TAKKU : Crée repository GitLab
↓
4. TAKKU : Push code initial
↓
5. TAKKU : Crée tenant dans DB
↓
6. TAKKU → Utilisateur : Repository prêt !
📦 Structure Générée
<nom-projet>/
├── backend/
│ ├── build.gradle.kts # Dépendances CORE
│ ├── src/main/java/
│ │ └── com/dynors/projects/<projet>/
│ │ ├── Application.java
│ │ ├── config/
│ │ │ ├── SecurityConfig.java
│ │ │ └── DatabaseConfig.java
│ │ ├── model/
│ │ ├── repository/
│ │ ├── service/
│ │ └── controller/
│ ├── src/main/resources/
│ │ ├── application.yml # Config CORE
│ │ └── db/migration/ # Flyway
│ └── Dockerfile
├── frontend/
│ ├── package.json
│ ├── src/
│ │ ├── app/
│ │ ├── environments/
│ │ └── assets/
│ └── Dockerfile
├── docker-compose.yml # PostgreSQL + Redis
├── .gitlab-ci.yml # CI/CD
└── README.md
🔐 Configuration Auto-Générée
application.yml
spring:
application:
name: <nom-projet>
datasource:
url: jdbc:postgresql://localhost:5432/<nom-projet>
username: dynors
password: ${DB_PASSWORD}
dynors:
db:
multitenant:
enabled: true
strategy: SCHEMA_PER_TENANT
security:
jwt:
secret: ${JWT_SECRET}
SecurityConfig.java
@Configuration
@EnableWebSecurity
public class SecurityConfig extends DynorsSecurityConfig {
// Configuration héritée de CORE
}
🎯 Roadmap
⏳ Phase 1 (En cours)
- ✅ Templates Spring Boot + Angular
- ⏳ Génération GitLab repository
- ⏳ Création tenant automatique
- ⏳ CLI (ligne de commande)
📋 Phase 2
- Templates React/Vue.js
- Générateur microservices
- Templates modules spécifiques (CRM, E-commerce)
- UI web (formulaire génération)
📋 Phase 3
- IA : Génération code depuis specs
- Templates projets mobiles (Flutter)
- Générateur tests automatiques
🚀 Utilisation
Via CLI (à venir)
takku create-project \
--name "DAWALALE" \
--code "DAW" \
--template SPRING_BOOT_STANDARD \
--modules security,db,events \
--frontend angular
Via API REST
POST /api/takku/projects
{
"projectName": "DAWALALE",
"projectCode": "DAW",
"template": "SPRING_BOOT_STANDARD",
"modules": ["security", "db", "events"],
"frontend": "angular"
}
📚 Documentation
- Architecture :
dynors-internal/applications/takku/ARCHITECTURE.md - Templates :
dynors-internal/applications/takku/templates/
Dernière mise à jour : 30 janvier 2026