Skip to content

Repository files navigation

Générateur de Citations d'Anime

Une application web moderne pour générer et partager des citations d'anime.

Fonctionnalités

  • Génération de citations aléatoires
  • Interface moderne avec animations
  • Fond dynamique avec pétales qui tombent
  • Design responsive
  • Partage sur les réseaux sociaux
  • Système de favoris

Technologies utilisées

  • Frontend: React, Material-UI, Framer Motion
  • Backend: Node.js, Express

Configuration

Avant de lancer l'application, vous devez configurer les variables d'environnement.

Backend

Le backend peut démarrer sans configuration, mais pour activer la génération IA avec Pollination, ajoutez un fichier .env à la racine:

POLLINATION_API_KEY=VOTRE_CLE_API
POLLINATION_MODEL=openai
POLLINATION_BASE_URL=https://gen.pollinations.ai/v1
POLLINATION_TIMEOUT_MS=15000
APP_PUBLIC_URL=http://localhost:3000
AI_RATE_LIMIT_WINDOW_MS=60000
AI_RATE_LIMIT_MAX=8
LOG_LEVEL=info

Frontend

Pour le déploiement en production, vous devez configurer l'URL de votre backend.

  1. À la racine du dossier client, un fichier .env a été créé.

  2. Il contient la variable suivante :

    REACT_APP_API_URL=https://YOUR_BACKEND_URL
    

    Pour le développement local, cette variable n'est pas utilisée car un proxy est configuré. Pour la production, vous devez la configurer dans les réglages de votre plateforme de déploiement (ex: Netlify, Vercel, Dualite) avec l'URL publique de votre serveur backend.

Installation et Lancement

  1. Cloner le repository (si ce n'est pas déjà fait).

  2. Installer les dépendances pour le serveur et le client :

    npm install
    npm install --prefix client
  3. Lancer l'application en mode développement (frontend et backend simultanément) :

    npm run dev:full

L'application sera disponible sur http://localhost:3000 et le serveur sur http://localhost:5000.

Scripts utiles

Depuis la racine du projet :

npm run test:server
npm run test:client
npm run build:client

Ces scripts fonctionnent sur Windows, macOS et Linux.

IA (Pollination)

  • Endpoint backend: POST /api/ai/quote
  • Body JSON: { "prompt": "motivation, résilience..." } (optionnel)
  • Le backend tente Pollination puis bascule automatiquement sur une citation locale en cas d'indisponibilité.
  • Protection anti-abus: rate limit par IP configurable via AI_RATE_LIMIT_WINDOW_MS et AI_RATE_LIMIT_MAX.

Auteur

  • Rodrigue GBADOU

Releases

Packages

Used by

Contributors

Languages