# 11 - Document Management: Versioning, Categories and Sharing

Play The Event document system: Aggregate Root with full versioning, 11 predefined categories, temporary sharing links, metadata extraction and SHA-256 integrity.

## What you'll learn

- Documents are modeled as Aggregate Roots with optimistic locking for concurrent access safety
- 11 predefined categories cover common event document types, with custom categories for flexibility
- Automatic folder detection routes files to DOCUMENTI, IMMAGINI, or RICEVUTE based on MIME type and category
- Full versioning preserves complete history; restoring a version creates a new entry, never overwrites
- Sharing links provide controlled external access with expiration, download limits, and revocation

*This article is part of the **Play the Event** series on federicocalo.dev.*

---

## Read the full article

The complete article (12 min read) with code examples, diagrams, and practical exercises is available here:

**➡️ [11 - Document Management: Versioning, Categories and Sharing](https://federicocalo.dev/en/blog/pte-document-management-versioning)**

`https://federicocalo.dev/en/blog/pte-document-management-versioning`

---

*By [Federico Calò](https://federicocalo.dev) — Software Developer & Technical Writer*
