Sign inSign up

madelxp/inngest-app

By madelxp

•Updated 4 months ago

Image
0

165

madelxp/inngest-app repository overview

⁠Inngest App

Application de démonstration complète utilisant Inngest pour l'orchestration d'événements et de fonctions serverless.

⁠🚀 Fonctionnalités

  • 7 fonctions serverless prêtes à l'emploi
  • API REST pour déclencher des événements
  • Dashboard Inngest intégré
  • Health checks et monitoring
  • Docker optimisé multi-stage

⁠📡 Événements supportés

ÉvénementDescriptionFonction associée
user/createdCréation d'utilisateurEnvoi d'email de bienvenue
user/updatedMise à jour utilisateurTraitement des modifications
user/deletedSuppression utilisateurNettoyage des données
email/sendEnvoi d'emailEnvoi générique d'emails
notification/sendNotificationEnvoi de notifications
report/generateGénération de rapportCréation de rapports
cleanup/executeNettoyageSuppression des anciennes données

⁠🛠️ API Endpoints

⁠Health Check
GET /api/health
⁠Utilisateurs
POST /api/users          # Créer un utilisateur
PATCH /api/users/:id     # Mettre à jour un utilisateur
DELETE /api/users/:id    # Supprimer un utilisateur
⁠Emails
POST /api/emails         # Envoyer un email
⁠Notifications
POST /api/notifications  # Envoyer une notification
⁠Rapports
POST /api/reports        # Générer un rapport
⁠Nettoyage
POST /api/cleanup        # Exécuter un nettoyage
⁠Inngest
POST /api/inngest        # Endpoint Inngest (serveur)

⁠🐳 Utilisation

⁠Docker Run
docker run -d \
  -p 3000:3000 \
  -e INNGEST_EVENT_KEY=your-key \
  -e INNGEST_SIGNING_KEY=your-signing-key \
  madelxp/inngest-app:latest
⁠Docker Compose
version: '3.8'
services:
  app:
    image: madelxp/inngest-app:latest
    ports:
      - "3000:3000"
    environment:
      - PORT=3000
      - INNGEST_EVENT_KEY=your-key
      - INNGEST_SIGNING_KEY=your-signing-key

⁠📦 Variables d'environnement

VariableDescriptionDéfaut
PORTPort du serveur3000
INNGEST_EVENT_KEYClé d'événement Inngesttest-key
INNGEST_SIGNING_KEYClé de signature-

⁠🏗️ Architecture

┌─────────────────┐
│   API Express   │
│  (Port 3000)    │
└────────┬────────┘
         │
    ┌────┴────┐
    │         │
┌───▼───┐  ┌──▼────┐
│Routes │  │Inngest│
│ API   │  │Server │
└───┬───┘  └──┬────┘
    │         │
    └────┬────┘
         │
    ┌────▼────┐
    │Functions│
    │Serverless│
    └─────────┘

⁠📝 Exemple d'utilisation

⁠Créer un utilisateur
curl -X POST http://localhost:3000/api/users \
  -H "Content-Type: application/json" \
  -d '{
    "userId": "123",
    "email": "[email protected]",
    "name": "John Doe"
  }'
⁠Envoyer une notification
curl -X POST http://localhost:3000/api/notifications \
  -H "Content-Type: application/json" \
  -d '{
    "userId": "123",
    "message": "Votre compte a été créé !",
    "type": "email"
  }'
⁠Générer un rapport
curl -X POST http://localhost:3000/api/reports \
  -H "Content-Type: application/json" \
  -d '{
    "reportId": "report-001",
    "type": "monthly",
    "parameters": {
      "month": "2024-01",
      "format": "pdf"
    }
  }'

⁠🔧 Développement

# Installation
npm install

# Mode développement
npm run dev

# Build
npm run build

# Production
npm start

⁠📄 Licence

ISC

Tag summary

Content type

Image

Digest

sha256:2de8903de…

Size

76.9 MB

Last updated

4 months ago

docker pull madelxp/inngest-app