Skip to content

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

5 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

File Service

Микросервис для управления файлами с различными стратегиями хранения и возможностью связывания файлов с бизнес-сущностями.

Функциональные возможности

  • Загрузка, скачивание и удаление файлов любых типов
  • Несколько стратегий хранения файлов:
    • Локальное хранилище на сервере
    • Облачное хранилище Amazon S3
    • Хранение бинарных данных в базе данных PostgreSQL
  • Связывание файлов с бизнес-сущностями через BindService
  • REST API для всех операций
  • Возможность динамического переключения стратегий хранения

Архитектура и паттерны проектирования

В проекте используются следующие паттерны проектирования:

  1. Стратегия (Strategy) - для реализации различных способов хранения файлов с единым интерфейсом
  2. Репозиторий (Repository) - для абстрагирования доступа к данным
  3. Фабрика (Factory) - для создания объектов стратегий
  4. Внедрение зависимостей (Dependency Injection) - для обеспечения гибкости и тестируемости

Технический стек

  • Node.js
  • TypeScript
  • Express.js
  • PostgreSQL
  • AWS SDK (для S3)
  • Multer (для обработки файлов)

Установка и настройка

Предварительные требования

  • Node.js (v18+)
  • PostgreSQL
  • (Опционально) Аккаунт AWS с настроенным S3 bucket

Установка

  1. Клонировать репозиторий:
    git clone https://github.com/your-username/file-service.git
    cd file-service

About

No description, website, or topics provided.

Resources

Stars

0 stars

Watchers

1 watching

Forks

Releases

Packages

Used by

Contributors

Languages