1001 Freelance Projects
Свежие проекты с фриланс-бирж
Сегодня: 05-May-2024 18:26 GMT
Просмотр проекта
Подробный просмотр проекта (вы будете перенаправлены на сторонний сайт)
Название проекта: node.js бекенд для дашборда
Кто разместил: Внешний проект с weblancer.net
Открыт: 09-Jan-2022 07:39 GMT
Описание: Нужно написать на node.js бекенд для вот такого дашборда https://bit.ly/3n7MP1x

Работа состоит из двух частей:
1. Парсер, который будет периодически забирать из ftp csv и xml файлы, разбирать их и складывать в БД (postgresql)
2. API, которое будет отдавать данные фронтенду.

Ниже текстовое ТЗ, а вот здесь красивое ТЗ с картинками: https://living-pentagon-5f4.notion.site/b84bc8af445c4f45923f5d77e35509e0

Часть 1.1: Парсинг csv
Раз в сутки скачать zip-архив с файлами CSV вот такого вида: https://www.dropbox.com/s/gukumii5lavcb87/Simplewealth_AG_Inception_December_21_2021.csv?dl=0
Нужно скачать свежий zip, разложить содержимое csv по таблицам в БД (если таблицы нет или какого-то поля в ней нет - создать)

Названия таблиц предлагаю формировать так:
- префикс: IbImport
- название: первый столбец + SubSection (если есть), пробелы убираем
Пример: https://monosnap.com/file/92XRfdNex2PlTgGxUlSJjkNEWfCJk3

Названия полей внутри таблиц предлагаю формировать исходя из полей Header, например: https://monosnap.com/file/LbXyEpMrkpFpasdglwD8xPdwyWT19j

Дополнительно:
- в каждой таблице должно быть поле id
- в каждой таблице должно быть поле IntroductionID - ссылка (внешний ключ) на запись в таблице IbImportIntroduction
- если в таблице есть MetaInfo - должно быть поле MetaInfoID, ссылка на таблицу IbImportMetaInfo

Все данные импортируем как строки, т.е. “как есть”. Исключение только для IbImportMetainfo.AnalysisPeriod - тут нужно сохранить “как есть” + распарсить даты и сохранить AnalysisPeriodBegin и AnalysisPeriodEnd
Дополнительно в поля IbImportIntroduction: ImportFile, ImportDate, ImportIBUID записываем имя импортируемого файла, дату импорта и ID аккаунта (он есть в названии файла)

Часть 1.2: Парсинг xml
Раз в сутки скачать из ftp xml-файл вот такого вида: https://www.dropbox.com/s/4wr928qhdfmb11c/clientonly.xml?dl=0
Нужно скачать свежий файл и разложить содержимое по таблицам в БД (если таблицы нет или какого-то поля в ней нет - создать. НО! Если внутри тега нет данных - пустую таблицу создавать не нужно)

Названия таблиц предлагаю формировать так:
- префикс: IbImport
- название: Названия тегов внутри <FlexStatement>

Названия полей внутри таблицы - по названию атрибутов
Пример: https://monosnap.com/file/OeXuVe8jFXeRUhhZBbyys6AFMrmdOp

Дополнительно:
- в каждой таблице должно быть поле id
- нужно сохранить данные из тега <FlexStatement> в таблицу FlexStatement
- данные из AccountInformation нужно сохранять только если они поменялись, и в этом случае нужно создавать новую запись а не обновлять старую.
- в каждой таблице должны быть поля FlexStatementID и AccountInformatinID - ссылки на соотв. таблицы


Часть 2: API
Нужны три endpoint’а:
1) POST /clientAuth
Принимает email и пароль, сравнивает с данными в таблице Users, возвращает "result": true/false и ставит сессионную куку
2) GET /table?name={TableName}&fields={FieldName1},{FieldName2},{FieldName3},...
Возвращает запрашиваемые поля указанной таблицы:
- из последнего импорта (определяем по IbImportIntroduction.ImportDate)
- для текущего пользователя (из cookies получаем имя сессии, по ней находим пользователя, получаем его IBUID)
- Если поля не перечислены - возвращает все поля таблицы
3) POST /table?name={Table}
Пример:
curl -X POST "https://api.service.com/table?name=Users" \
-d '{
"set": {"portfolio": "3", "duration": "5 years"},
"where": {"id": "123"}
}'
- По сессии проверяем что текущий пользователь - админ (Users.role=admin)
- исполнить UPDATE Users SET portfolio="3", duration="5 years" WHERE id="123"
- Перед исполнением проверить, - если запрос затронет больше одной записи, то вернуть ошибку


Формат ответа:
{
"result": {
"id":"2d4d028de3015345da9420df5514dad0",
"name":"blog.example.com",
"content":"2.6.4.5"
},
"success": true,
"errors": ,
"messages": ,
"result_info": {
"page": 1,
"per_page": 20,
"count": 1,
"total_count": 200
}
}

{
"result": null,
"success": false,
"errors": ,
"messages":
}

Пагинация:
curl "https://api.service.com/zones?page=3&per_page=20&order=type&direction=asc"
По умолчанию: page=1, per_page=100, order=id, direction=ASC

HTTP response codes:
- 200 OK request successful
- 400 Bad Request request was invalid
- 401 Unauthorized user does not have permission
- 403 Forbidden request not authenticated
- 405 Method Not Allowed incorrect HTTP method provided



Предлодите цену и сроки.
Project ID: 4192272
Категория проекта:
Бюджет проекта:
Подробный просмотр проекта (вы будете перенаправлены на сторонний сайт)
Последние проекты / Все проекты
  Проект Открыт
Написать SEO текст для страницы сайта
Категория: Тексты, Копирайтинг
Бюджет: 1200 руб
05-May-2024
16:00 GMT
Сайт сообщества с платным доступом
Категория: Сайты, Сайт «под ключ»
05-May-2024
15:57 GMT
Налаштування VPS
Категория: Настройка ПО и серверов, Установка и настройка CMS
05-May-2024
15:54 GMT
Менеджер/кофаундер онлайн школы профессионального английского языка
Категория: Аутсорсинг и консалтинг, Репетиторы, Преподаватели
05-May-2024
15:53 GMT
Сверстать заглушку для сайта
Категория: Сайты, Верстка
05-May-2024
15:52 GMT
Доработать имеющийся дизайн упаковки для струн
Категория: Дизайн, Дизайн упаковки
Бюджет: 7000 руб
05-May-2024
15:51 GMT
Струбцина для оптической муфты
Категория: 3D графика
05-May-2024
15:44 GMT
Написать текст
Категория: Тексты
Бюджет: 500 руб
05-May-2024
15:44 GMT
Сделать задания по учебной практике
Категория: Программирование и IT
Бюджет: 3000 руб
05-May-2024
15:40 GMT
Программа считывания торговых сигналов с телеграм и автоматическое выставление ордеров
Категория: Программирование и IT
05-May-2024
15:36 GMT
Переклад рукописного німецького тексту - 300UAH
Категория: Немецкий язык
05-May-2024
15:33 GMT
Перенос товаров с HostCMS на Wordpress Woocommerce - 2000UAH
Категория: Веб-программирование
05-May-2024
15:29 GMT
Анимация работы уличного туалета
Категория: 3D Графика, 3D Анимация
05-May-2024
15:26 GMT
Виправити помилки на сайті Joomla - 500UAH
Категория: Создание сайта под ключ, Сопровождение сайтов
05-May-2024
15:25 GMT
Разработать решение для парсинга данных (OpenCart)
Категория: Программирование и IT
05-May-2024
15:22 GMT
Все проекты
Проекты по навыкам ...
Проекты 'android'
Проекты 'ajax'
Проекты 'asp'
Проекты 'aspnet'
Проекты 'cms'
Проекты 'cpp'
Проекты 'csharp'
Проекты 'css'
Проекты 'delphi'
Проекты 'design'
Проекты 'drupal'
Проекты 'excel'
Проекты 'facebook'
Проекты 'flash'
Проекты 'html'
Проекты 'java'
Проекты 'javascript'
Проекты 'joomla'
Проекты 'iphone'
Проекты 'mysql'
Проекты 'photoshop'
Проекты 'php'
Проекты 'python'
Проекты 'ruby'
Проекты 'seo'
Проекты 'sql'
Проекты 'sysadm'
Проекты 'translate'
Проекты 'typing'
Проекты 'twitter'
Проекты 'vbnet'
Проекты 'xml'
Проекты 'wordpress'
Проекты 'writing'
Проекты 'texts'
Читать RSS-ленты ... Новое!
Проекты 'android'
Проекты 'ajax'
Проекты 'asp'
Проекты 'aspnet'
Проекты 'cms'
Проекты 'cpp'
Проекты 'csharp'
Проекты 'css'
Проекты 'delphi'
Проекты 'design'
Проекты 'drupal'
Проекты 'excel'
Проекты 'facebook'
Проекты 'flash'
Проекты 'html'
Проекты 'java'
Проекты 'javascript'
Проекты 'joomla'
Проекты 'iphone'
Проекты 'mysql'
Проекты 'photoshop'
Проекты 'php'
Проекты 'python'
Проекты 'ruby'
Проекты 'seo'
Проекты 'sql'
Проекты 'sysadm'
Проекты 'translate'
Проекты 'typing'
Проекты 'twitter'
Проекты 'vbnet'
Проекты 'xml'
Проекты 'wordpress'
Проекты 'writing'
Проекты 'texts'
Новое!
Projects in English
Короткий URL:
1001fp.ru
Мобильная версия:
m.1001freelanceprojects.ru
Copyright © 2005-2022 1001 Freelance Projects