npm package: @hiqaody/create-auth-itdc
Description: NestJS backend template for auth-itdc
Author: Jacquinot
Latest version: 1.0.1

# @hiqaody/create-auth-itdc

<div align="center">

[![npm version](https://img.shields.io/npm/v/@hiqaody/create-auth-itdc.svg)](https://www.npmjs.com/package/@hiqaody/create-auth-itdc)
[![License: MIT](https://img.shields.io/badge/License-MIT-yellow.svg)](https://opensource.org/licenses/MIT)
[![Node.js Version](https://img.shields.io/badge/node-%3E%3D14.0.0-brightgreen)](https://nodejs.org)
[![NestJS](https://img.shields.io/badge/NestJS-Framework-red)](https://nestjs.com)
[![TypeScript](https://img.shields.io/badge/TypeScript-blue)](https://www.typescriptlang.org/)

**🚀 Générateur de service d'authentification NestJS + PostgreSQL prêt pour la production**

*Créez une API REST d'authentification robuste et modulaire en quelques minutes, avec gestion utilisateur, rôles, JWT et intégration MinIO.*

</div>

---

## ✨ Fonctionnalités principales

- 🔑 Authentification sécurisée JWT
- 👤 Gestion des utilisateurs et des rôles
- 🗄️ Intégration MinIO pour le stockage d’objets
- 🛡️ Sécurité best-practice (Helmet, CORS, validation)
- 🐳 Support Docker et Docker Compose
- ⚡ Génération automatique de secrets et configuration guidée
- 📦 Architecture NestJS modulaire, prête à l’emploi

---

## 🚀 Démarrage rapide

### Prérequis

- Node.js **14 ou supérieur**
- npm ou yarn
- PostgreSQL (local ou distant)
- (Optionnel) Docker pour déploiement rapide

### Installation

#### Mode interactif (recommandé)

```bash
npx @hiqaody/create-auth-itdc
```

#### Génération rapide

```bash
npx @hiqaody/create-auth-itdc mon-api
cd mon-api
npm install
npm run start:dev
```

#### Avec npm create

```bash
npm create @hiqaody/auth-itdc mon-api
```

---

## ⚙️ Configuration

À la fin de la génération, un fichier `.env` complet est produit. Modifiez-le selon vos besoins :

```env
# Database
POSTGRES_HOST=localhost
POSTGRES_PORT=5432
POSTGRES_USER=postgres
POSTGRES_PASSWORD=motdepasse
POSTGRES_DB=auth_itdc

# Application
APP_PORT=5000
APP_NAME=auth-itdc

# Security
JWT_SECRET=secretgénéré
JWT_REFRESH_SECRET=refreshsecretgénéré
JWT_EXPIRES_IN=1d

# Minio
MINIO_ENDPOINT=localhost
MINIO_PORT=9000
MINIO_ACCESS_KEY=
MINIO_SECRET_KEY=
MINIO_BUCKET_NAME=auth-itdc

# Environnement
NODE_ENV=development

# Base URL
BASE_URL=http://localhost:5000

# Super Admin
SUPER_ADMIN_EMAIL=superadmin@itdc.com
SUPER_ADMIN_PASSWORD=superadminitdcmada
SUPER_ADMIN_PHONE=0342808530
```

---

## 📁 Structure générée

```
mon-api/
├── src/
│   ├── auth/
│   ├── database/
│   ├── jwt/
│   ├── minio/
│   ├── role/
│   ├── shared/
│   ├── user-session/
│   └── users/
├── .env.example
├── package.json
├── Dockerfile
├── README.md
└── ...
```

---

## 🛠️ Commandes utiles

| Commande                  | Description                        |
|---------------------------|------------------------------------|
| `npm run start`           | Démarrage classique                |
| `npm run start:dev`       | Mode développement (hot reload)    |
| `npm run build`           | Build production                   |
| `npm test`                | Lancer les tests                   |
| `npm run typeorm ...`     | Gestion des migrations             |

---

## 🤝 Contribution

Les contributions sont les bienvenues !  
Forkez, créez une branche, proposez une PR.

---

## 📄 Licence

MIT

---

<div align="center">

**🚀 Lancez votre backend Node sécurisé en 2 minutes !**

</div>