Разработка сервиса выгрузки отчётов, Node.js + Koa на бэке, Vue.js на фронте, PostgreSQL

Бюджет 117$ / 7000
руб
в месяц
Создан: 2 года назад
На модерации
Описание
Существует система проведения олимпиад. Изнутри это, на самом деле, достаточно сложная вещь с богатой функциональностью (говоря умными словами, она поддерживает ведение проектной деятельности по информационному, техническому и методическому обеспечению олимпиад). Естественно, под всю эту функциональность имеются сущности в БД, и иногда по этим сущностям нужно проводить аналитику (обычно это относится к разным спискам участников). В данный момент система позволяет фильтровать данные по заданным критериям, сортировать их и выгружать в XLSX для дальнейшей ручной обработки. Если брать списки участников, то там можно выгружать результаты по различным турам, потокам площадок, на которых пользователь писал или будет писать заключительный этап, вхождение в различные системные группы, их школы/города/регионы



Что тут нас не устраивает: 

Операции выгрузки иногда занимают много времени, особенно если они большие. Выгрузка происходит не в фоне, т.е. пользователь нажимает на кнопку выгрузки и ждёт, пока она выгрузится. Причём не факт, что табличка в итоге попадёт к пользователю, поскольку трафик идёт через NGINX, который обрывает соединения, от которых нет ответа определённое время. В таком случае пользователь просто получит ошибку 504

Как это должно выглядеть в итоге: пользователь нажимает на кнопку выгрузки, и система ему отвечает, что выгрузка начинает создаваться где-то в фоне и можно работать с другими страницами. В это время система где-то в фоне генерирует выгрузку, сохраняет результирующий файл и прочую информацию (когда и кем выгружено, что выгружалось, с какими параметрами и т.д.) в отдельную табличку. После сохранения система уведомляет пользователя, что выгрузка готова и что её можно скачать на определённой странице интерфейса

Как это предлагается реализовывать: у нас уже есть набор фоновых процессов, которые слушают запросы от основного приложения через Redis. Можно сделать ещё один такой процесс, который будет вызывать существующую функцию выгрузки. В этом процессе будет происходить сама выгрузка, не влияя на основное приложение (т.е. NGINX рвать соединение не будет, т.к. его просто нет). После сохранения самой выгрузки и её мета-информации процесс должен как-то сообщить пользователю, что выгрузка готова. Это можно сделать, наверно, через веб-сокеты. Также тебе нужно будет отрефакторить метод для создания выгрузки, т.к. её разработчик (изначальный разработчик системы) раздул его на 100+ строк, это неудобно читать и наверняка там остались баги
Категория
Источник: fl.ru

Похожие проекты

$21
0 1
Нужно разархивировать файл archive. ujems, есть распаковщик, но выдает ошибку. Прислать пруфы  ....
1 неделя назад
safe 
0 0
Разработать впн сервис ( Приложения на ios и android + сайт для оплаты подписки). Настройка Серверов. Оплата по договоренности. Работаем черед безопасную сделку....
2 недели назад
safe$21
0 3
Нужно разархивировать файл archive. ujems, есть распаковщик, но выдает ошибку. Прислать пруфы  ....
1 месяц назад
$214
0 1
Здравствуйте, у кого есть проект по продвижению chaturbate? Или кто-то делает?...
1 месяц назад
$21
0 0
Заказные доработки функционирующих учётно-управленческих систем на производственных предприятиях. Навыки программирования в MS SQL, VBScript, 1С, знание принципов ООП....
safe$36
0 2
Нужно опубликовать мобильное приложение для Android в Гугл маркет с аккаунта разработчика Гугл плей консоль, созданного ДО Ноября 2023. В рамках проекта, необходимо прислать приглашение мне на почту, чтобы я загрузила приложение и отправила его на модерацию, с сохранением безвременного доступа к моему......
safe$71
0 3
Сделать игру для яндекс игр, настроить рекламу в игре и помочь с публикацией игры в платформе яндекс игры. Игра - карточная игра Пасьянс Паук (косынка) Игровой процесс: Тип игры: Пасьянс Паук. Количество мастей: Игрок может выбирать количество мастей: 1, 2, 3 или 4. Подсказки: Автоматические подсказки,......
$14
0 2
Без акцента на идею, необходимо создать мобильное приложение iOs и Android, с возможностью трансляции основной информации в миниапп Tg. Интеграция с платежной системой, внутренний кошелек, две валюты. В зависимости от гео, возможность конвертации валют ч/з сервер. На старте, сервер скорее облачный. Двухфакторная......
$1200
0 0
Необходимо перевести действующую БД с версии 77 на 8 (переписать конфигурацию, настроить обработки для переноса данных).   Не типовая конфигурация по учету пенсионеров в ГУ РК....
safe$22
9 3
требуется готовую онлайн анкету на django по приему на работу перенести в whatsapp, telegram и viber. Нужно чтобы кандидат мог с удобством заполнять анкету с телефона, а все заполненные им данные по всем позициям автоматически загружались в нашу базу данных. В нашей базе будет создаваться резюме кандидата......
$714
0 1
Описание задачи: Необходимо разработать serverless функцию на базе NestJS и TypeScript для автоматизированной обработки видеофайлов, загружаемых в Yandex Cloud Storage. Функция должна выполнять конвертацию видео в формат, поддерживаемый основными веб-браузерами, с последующим сжатием до оптимального......
safe$44
49 1
Трипланарная транспортная задача (отправители - транспорт - получатели) генерация исходных данных трехэтапное решение 1....
safe 
28 1
В наличии массив кадастровых номеров (КН), необходимо путем запроса на ПКК определить примерные географические координаты каждого объекта из массива КН (ОКС, ЗУ), вывести в результирующий файл эти ко-ты и ряд сопутствующих данных по этому КН....
2 месяца назад
safe 
44 7
Необходимо разработать бек и фронт мини-сервиса таким образом, чтоб его можно было развернуть внутри другого проекта....
safe$1111
23 0
Стоит на Бизнесе для своих нужд на простеньком базовом шаблоне, складываю туда контент потихоньку. Нужно начинать приводить в соответствие что бы публика сразу не убегала, а как то цеплялась, да и продвигать не торопясь. Шаблон где порвался от вставки баннеров подправить, для мобилок может сверстать.......
safe$22
55 0
Парсер для сайта stockx. com на питоне (selenium/pyppeteer). Необходим следующий функционал: 1. На главной странице с поиском по ключевым словам найти первый результат из поиска (ссылку на страницу товара) ....
2 месяца назад
 
36 0
Требуется написать софт , который будет делать рассылку по личным сообщениям на площадке Ebay Kleinanzeigen по заранее спаршенным обьявлениям....
2 месяца назад
 
37 0
Требуется написать софт , который будет делать рассылку по личным сообщениям на площадке Ebay Kleinanzeigen по заранее спаршенным обьявлениям....
2 месяца назад
Смотреть все