Froidefond Julien 4cc505c63d fix(gif-mood): prevent SSE refresh from wiping in-progress note edits
Track textarea focus state and skip note sync from server while focused.
Fixes concurrent edit race condition where router.refresh() triggered by
another participant's SSE event would overwrite the current user's draft.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-03-25 16:46:37 +01:00

🚀 Workshop Manager

Plateforme d'ateliers managériaux interactifs et collaboratifs.

Fonctionnalités

📊 Analyse SWOT

Cartographiez les forces, faiblesses, opportunités et menaces de vos collaborateurs.

  • Matrice interactive avec drag & drop
  • Actions croisées et plan de développement
  • Collaboration en temps réel

🎯 Moving Motivators

Explorez les 10 motivations intrinsèques (Management 3.0).

  • Classement par importance
  • Évaluation de l'influence positive/négative
  • Récapitulatif personnalisé

🤝 Collaboration

  • Partage de sessions (Éditeur / Lecteur)
  • Synchronisation temps réel (SSE)
  • Historique sauvegardé

🛠️ Stack technique

  • Framework : Next.js 16 (App Router)
  • Base de données : SQLite + Prisma ORM
  • Auth : NextAuth.js
  • UI : Tailwind CSS + CSS Variables theming
  • Drag & Drop : @dnd-kit

🚀 Installation

# Cloner le repo
git clone <repo-url>
cd swot-manager

# Installer les dépendances
pnpm install

# Configurer l'environnement
cp .env.example .env
# Éditer .env avec vos valeurs

# Initialiser la base de données
pnpm prisma migrate dev

# Lancer le serveur de développement
pnpm dev

Ouvrir http://localhost:3000

📁 Structure du projet

src/
├── app/                    # Pages Next.js (App Router)
│   ├── sessions/           # Ateliers SWOT
│   ├── motivators/         # Ateliers Moving Motivators
│   └── api/                # API Routes
├── components/             # Composants React
│   ├── swot/               # Composants SWOT
│   ├── moving-motivators/  # Composants Moving Motivators
│   ├── collaboration/      # Partage & temps réel
│   └── ui/                 # Composants UI génériques
├── services/               # Logique métier (accès BDD)
├── actions/                # Server Actions
├── hooks/                  # React hooks
└── lib/                    # Types & utilitaires

🎨 Theming

Le projet utilise des CSS Variables pour le theming (light/dark). Voir src/app/globals.css pour les variables disponibles.

📝 License

MIT

Description
Languages
TypeScript 99.1%
CSS 0.6%
Dockerfile 0.2%