Skip to main content

Team 7 — Document Management System (DMS)


Purpose & value

Provide a central, system for documents with an intuitive folder hierarchy, enabling teams to upload, organize, and retrieve files efficiently. The DMS reduces scattered storage, improves collaboration, and lays the groundwork for compliance-friendly document handling.


Core capabilities (MVP)

  • Documents: upload, download, rename (metadata), delete
  • Folders: create hierarchy (root + subfolders), list contents, rename/move, delete when empty
  • API: REST with OpenAPI/Swagger UI
  • Status: user management & role-based access are planned, not fully available yet

Data model

  • Document: id, name, type (MIME), size, folderId, ownerId (for future RBAC), createdDate, downloadUrl, binary content (to be externalized)
  • Folder: id, name, parentId (null for root), createdDate

Architecture & integrations

                [React SPA]
⇅ REST
[Spring Boot DMS]
↙──────────↘
[PostgreSQL(metadata)] [MinIO (file blobs)]

Technology stack & operations

  • Backend: Java 21, Spring Boot, Maven
  • Frontend: React + TypeScript
  • Database: PostgreSQL + MinIO (prod), H2 (dev/test)
  • Packaging/Deploy: Docker, Kubernetes, CI/CD with GitHub
  • Health: Spring Boot Actuator endpoints for health checks

Repositories