← Retour à la marketplace
📄

Gestion Documents

GED simple : upload, catégorisation, versionnage et partage de documents.

DocumentsMoyen~6 joursv1.1.0

Module de gestion électronique de documents avec upload multi-formats, catégorisation par dossiers, versionnage, métadonnées, recherche full-text et contrôle d'accès par document.

geddocumentsuploadversioningfiles

Dépendances requises :

📋 Schéma Prisma

// === Module Documents (GED) ===

model DocumentFolder {
  id        String           @id @default(cuid())
  name      String
  parentId  String?
  parent    DocumentFolder?  @relation("FolderTree", fields: [parentId], references: [id])
  children  DocumentFolder[] @relation("FolderTree")
  createdAt DateTime         @default(now())

  @@map("document_folders")
}

model Document {
  id          String          @id @default(cuid())
  name        String
  folderId    String?
  folder      DocumentFolder? @relation(fields: [folderId], references: [id])
  mimeType    String
  size        Int
  currentVersion Int         @default(1)
  tags        String[]
  createdAt   DateTime        @default(now())
  updatedAt   DateTime        @updatedAt
  versions    DocumentVersion[]

  @@map("documents")
}

model DocumentVersion {
  id         String   @id @default(cuid())
  documentId String
  document   Document @relation(fields: [documentId], references: [id], onDelete: Cascade)
  version    Int
  filePath   String
  uploadedBy String
  createdAt  DateTime @default(now())

  @@unique([documentId, version])
  @@map("document_versions")
}

🔌 Endpoints API

## API Documents

GET  /api/documents/folders      # Arborescence dossiers
POST /api/documents/folders      # Créer dossier
POST /api/documents/upload       # Uploader un document (multipart)
GET  /api/documents              # Liste (filtres: folder, tag, search)
GET  /api/documents/:id          # Métadonnées
GET  /api/documents/:id/download # Télécharger la version courante
GET  /api/documents/:id/versions # Historique versions
POST /api/documents/:id/version  # Uploader une nouvelle version
DELETE /api/documents/:id        # Supprimer

🛠️ Guide d'implémentation

## Implémentation Gestion Documents

### Dépendances
Nécessite le module Gestion Fichiers pour le stockage.

### Étape 1 — Arborescence
Implémentation des dossiers avec relation récursive (CTE SQL ou requêtes imbriquées).

### Étape 2 — Upload et versionnage
Lors de l'upload d'un fichier existant → créer une nouvelle version, mettre à jour currentVersion.

### Étape 3 — Recherche
Index full-text sur le nom et les tags des documents.

### Étape 4 — Prévisualisation
Intégrer un viewer léger pour PDF (PDF.js) et images.

Prêt à installer ce module ?

Ajoutez-le à un projet existant depuis la page modules du projet.

Voir les projets →