Микросервис для управления файлами с различными стратегиями хранения и возможностью связывания файлов с бизнес-сущностями.
- Загрузка, скачивание и удаление файлов любых типов
- Несколько стратегий хранения файлов:
- Локальное хранилище на сервере
- Облачное хранилище Amazon S3
- Хранение бинарных данных в базе данных PostgreSQL
- Связывание файлов с бизнес-сущностями через BindService
- REST API для всех операций
- Возможность динамического переключения стратегий хранения
В проекте используются следующие паттерны проектирования:
- Стратегия (Strategy) - для реализации различных способов хранения файлов с единым интерфейсом
- Репозиторий (Repository) - для абстрагирования доступа к данным
- Фабрика (Factory) - для создания объектов стратегий
- Внедрение зависимостей (Dependency Injection) - для обеспечения гибкости и тестируемости
- Node.js
- TypeScript
- Express.js
- PostgreSQL
- AWS SDK (для S3)
- Multer (для обработки файлов)
- Node.js (v18+)
- PostgreSQL
- (Опционально) Аккаунт AWS с настроенным S3 bucket
- Клонировать репозиторий:
git clone https://github.com/your-username/file-service.git cd file-service