Skip to main content

File Storage Architecture

Source: equa-server/modules/file-storage/, equa-server/modules/data-room/

Overview

Equa uses AWS S3 for file storage with a virtual directory structure persisted in PostgreSQL. Files are uploaded through the API, stored in S3, and organized into data rooms per organization.

Architecture

Entities

Files

DirectoryItems (Virtual File System)

DataRoomsMembers (Access Control)

Upload Flow

  1. Frontend sends multipart form data via postMultipart() (axios)
  2. Backend receives file, validates size (max 10MB default)
  3. File uploaded to S3
  4. Files record created in PostgreSQL with S3 URL
  5. DirectoryItems record created to place file in data room

Configuration

Data Room Access

Data rooms are per-organization virtual directories. Access is controlled via the DataRoomsMembers junction table linking members to specific data rooms with permission levels.