← Retour à la marketplaceVoir les projets →
📄
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.