Acme Data Room опис проєкту (українською)

Acme Data Room повнофункційний веб-застосунок для проведення віртуального due diligence: безпечне сховище та дистрибуція документів (на кшталт Google Drive / Box, де Data Room це верхньорівнева тека). Натхненне тестовим завданням Acme Corp.

Стек: NestJS + Prisma + PostgreSQL, S3-сумісне об'єктне сховище (MinIO / Backblaze B2), React + Vite + Tailwind на фронтенді, JWT-cookie-сесії.

Ключові можливості

- Автентифікація з email-OTP реєстрація, вхід, відновлення пароля та видалення акаунта підтверджуються 6-значним кодом (10-хв. дія, ліміт спроб, rate-limit). Сесія httpOnly JWT-cookie.
- Ієрархічна структура теки до будь-якої глибини, хлібні крихти, перейменування, переміщення з захистом від циклів, каскадне видалення.
- Файли завантаження drag-and-drop із реальним прогресом (XHR), прев'ю, перейменування, переміщення; автоматичний суфікс при конфлікті імен ("report (1).pdf"). Завантаження/скачування через presigned URL байти не йдуть через API.
- Пошук без урахування регістру по теках і файлах.
- Шеринг дві моделі: доступ за запрошенням (тільки для вибраних користувачів) і публічна token-посилання; обидва read-only і відкличні.
- Розумна безпека немає витоку існування даних: несанкціоновані запити повертають 404, а не 403; невірні дані входу 401.
- Присутність хто зараз переглядає кімнату (in-memory, 5-хв. TTL).
- Data Rooms створення, перейменування, видалення, приватна/публічна видимість.

Технології

NestJS 10, Prisma, PostgreSQL, S3-сумісне сховище, React 18 + TypeScript + Vite, Tailwind, shadcn-style UI, JWT. Архітектура: routes → controllers → services → repository; зовнішні API (S3, Gmail) за інтерфейсами.

acme-data-room.acvid3.com
Acme Data Room изображение 1

Acme Data Room изображение 2

Acme Data Room изображение 3

Acme Data Room изображение 4

Acme Data Room изображение 5

Acme Data Room изображение 6

Acme Data Room изображение 7

Acme Data Room изображение 8

Работа добавлена: 21.08.26

Наверх