Разработать файлообменик на RoR
Сейчас есть минимальный прототип, используются следующие технологии.
- Web: Nginx + upload-module
- Back: Ruby on Rails 4.2
- DB: MongoDB
Требования:
- В качестве хранилища выступает локальное пространство сервера (без AWS S3).
- Сторонние гемы (paperclip, carrierwave, refile, dragonfly) не подойдут, из-за того что все тело файла во время upload они (гемы) записывают в ОЗУ, а уже потом на жесткий диск. (Если вы вкурсе, как сделать иначе, очень прошу сообщите как.)
- Нужно разработать rails-приложение, которое будет взаимодействовать с nginx + upload-module.
( Описание upload-module http://www.grid.net.ru/nginx/upload.ru.html )
Сам upload-module отдает на rails следующие атрибуты:
- $upload_field_name -- имя оригинального поля формы
- $upload_content_type -- MIME-тип содержимого загружаемого файла
- $upload_file_name -- оригинальное имя загружаемого файла.
- $upload_tmp_path -- путь к файлу, в котором сохранено содержимое загружаемого файла.
- $upload_file_md5 -- MD5 хэш файла
- $upload_file_sha1 -- SHA1 хэш файла
- $upload_file_crc32 -- шестнадцатеричное значение CRC32 файла
- $upload_file_size -- размер файла в байтах
- $upload_file_number -- порядковый номер файла в теле запроса
Итого, что нужно от Rails приложения.
1) Регистрация пользователей (devise)
2) Множественная загрузка файлов (multiple) и прогресс-бар загрузки (jquery-fileupload)
3) Пользователь владеет папками, папки владеют файлами. Папка существует только в БД и является уникальным идентификатором.
4) В ЛК пользователь видит все свои папки и файлы которые он загружал ранее, и может добавить или удалить файл в любой из папок.
Это минимальное начальное требования от проекта.
Если вас заинтересовало, прошу написать мне в Skype: testester1 или на почту: iddqd@nxt.ru
Спасибо.