Парсер CSV документа с перечнем транзакций и сохранением их в БД
Транзакция {
тип: TransactionType
ТИКЕР: ТИКЕР
Дата : Date
Количество: Decimal
Цена : Price
Фейс: цена ли это?
Enum TransactionType {
Case Buy
case продажи
Case Fee
Cases раздел
Case Tax Показатель
/////////////////////////////////////////////////////
/////////////////////////////////
Доходы {
Тип: IncomeType
ТИКЕР: ТИКЕР
Количество: Decimal
валюта: Currency
Дата : Date
налог: Decimal
IncomeType {
case дивиденды
Case Спинофф
/////////////////////////////////////////////////////
/////////////////////////
enum AssetCategory {
case stock
case warrant
Case Option
case валюты
валюта {
код: String //USD, UAH, CAD и т.д.
Ticker {
Символ: String
валюта: Currency
Asset: AssetCategory
Цена {
Значение: Decimal
валюта: Currency
/////////////////////////////////////////////////////
Описание документа:
Документ разделен на сегменты.Эти сегменты указаны в колоне-A например Trades, Corporate Actions, Transaction Fees, Dividends, Withholding Tax, Payment in Lieu of Dividend.- Рядко, где колона A == Trades и колона C == Trade описывают нужный нам Transaction с типом buy или sell
- Рядко, где колонка A == Corporate Actions и колонка G contains "Split" описывает Transaction с типом split
- Рядко, где колонка A == Corporate Actions и колонка G contains "Spinoff" описывает Income с типом spinoff
- Ряд, где колонка A == Transaction Fees или Borrow Fee Detail или Broker Interest Paid описывают Transaction с типом fee
- Ряд, где колонка A == Dividends или Payment in Lieu of Dividend описывают Income с типом dividend, tax для этих объектов нужно брать в строках Withholding Tax
Требования :
1 .Требования к UI нет, в основном для теста и проверки правильности парсинга достаточно иметь кнопку для загрузки файла, показать конечную таблицу с элементами Transaction и Income
ВтораяВ таблице поля должны поддерживать редактирование, которое пользователь может ввести до момента хранения в БД
Потрібно написати простий парсер, який буде приймати CSV файл певного формату та витягувати звідти дані транзакцій та доходів, а потім виводити таблицю користувачу. Користувач матиме змогу поміняти в таблиці значення, після чого дані потрібно зберігти в БД. При додаванні наступних файлів, дані будуть додаватися до БД для цього користувача.
Приклад файлу доданий до проекту.
Псеводокод полів та типів полів таблиці Transaction, Income, які і є результатом парсингу.
//////////////////=====Transactions========/////////////////////
Transaction {
type: TransactionType
ticker: Ticker
date: Date
quantity: Decimal
price: Price
fee: Price?
}
enum TransactionType {
case buy
case sell
case fee
case split
case tax
}
////////////////////////////////////////////////////////////////////
//////////////////=====Incomes========/////////////////////
Income {
type: IncomeType
ticker: Ticker
amount: Decimal
currency: Currency
date: Date
tax: Decimal
}
IncomeType {
case dividend
case spinoff
}
////////////////////////////////////////////////////////////////////
//////////////////======General=======/////////////////////
enum AssetCategory {
case stock
case warrant
case option
case currency
}
Currency {
code: String //USD, UAH, CAD etc
}
Ticker {
symbol: String
currency: Currency
asset: AssetCategory
}
Price {
value: Decimal
currency: Currency
}
////////////////////////////////////////////////////////////////////
Опис документу:
- Документ поділений на сегменти. Ці сегменти вказані в колонці-A наприклад Trades, Corporate Actions, Transaction Fees, Dividends, Withholding Tax, Payment in Lieu of Dividend.
- Рядки, де колонка A == Trades та колонка С == Trade описують потрібний нам Transaction з типом buy чи sell
- Рядки, де колонка A == Corporate Actions та колонка G contains "Split" описує Transaction з типом split
- Рядки, де колонка A == Corporate Actions та колонка G contains "Spinoff" описує Income з типом spinoff
- Рядки, де колонка A == Transaction Fees або Borrow Fee Detail або Broker Interest Paid описують Transaction з типом fee
- Рядки, де колонка A == Dividends або Payment in Lieu of Dividend описують Income з типом dividend, tax для цих обʼєктів потрібно брати в рядках Withholding Tax
Вимоги:
1. Вимог до UI немає, в основному для тесту і перевірки правильності парсингу достатньо мати кнопку для завантаження файлу, показати кінцеву таблицю з елементами Transaction та Income
2. В таблиці поля мають підтримувати редагування, які користувач може внести до моменту зберігання в БД
- Проект має бути онлайн, тобто відкриватись в браузері та написаний на python
Приложения 1
-
1168 7 0 Добрий день. Я ознакомился с приложенным файлом. С таким форматом знаком, его разбор затруднений не вызывает. Готов выполнить на Python с применением фреймворка Django.
-
1096 25 4 1 Добрый день, обращайтесь. Большой опыт как в парсерах так и в базах данных
-
3027 74 0 Добрый день! Думаю без проблем реализую нужный вам прассинг. Пишите в частном, поговорим о проекте подробнее.
Добрий день! Думаю без проблем реалізую потрібний вам прасинг. Пишіть в приватні, обговоримо проект детальніше.
-
2446 37 3 Доброго дня, без проблем могу реализовать такую систему в нескольких вариантах, могу сделать через страницу в браузере(сайт), могу сделать как настольное программное обеспечение, или имплементировать в телеграмм бота.Цена и сроки в личном сообщении.
Доброго дня, без проблем можу реалізувати таку систему в декількох варіаціях, можу зробити через сторінку в браузері(сайт), можу зробити як desktop программу, чи імплементувати в телеграм бота.Ціна і сроки в особисті повідомлення.Робити буду на python
Актуальные фриланс-проекты в категории Веб-программирование
Разработчик Laravel – внести доработки в проектНа проекте используется laravel-admin (админка) + на фронте https://pixinvent.com/vuexy-bootstrap-laravel-admin-template/ Необходимо доработать front-end и back-end часть. Работать будем по этапно: 1. Реализация задачи 2. Пуш в Git (Работа строго через git (bitgucket) 3.… PHP, Веб-программирование ∙ 1 час 48 минут назад ∙ 10 ставок |
Создать одностраничный сайт на английском языке для услуги по полировке iPhone и Apple WatchМне нужно создать одностраничный сайт на английском языке для услуги по полировке iPhone и Apple Watch.Нужно:Описать преимущества полировки как для сервисных центров по ремонту, которым мы предлагаем сотрудничество, так и для прямых клиентов.Показать примеры выполненных работ (у… Веб-программирование, Создание сайта под ключ ∙ 2 часа 54 минуты назад ∙ 31 ставка |
Разработка уникального WordPress-сайта для IT-рекрутингового агентства
15 000 UAH
Задача Техническое задание (ТЗ) на разработку сайта рекрутингово агентства. Цель: Создать уникальный, технологичный и минималистичный сайт на WordPress для рекрутингового агентства, чтобы привлекать клиентов и кандидатов в IT-сфере, с учётом конфиденциальности всех партнёров… Веб-программирование ∙ 4 часа 45 минут назад ∙ 11 ставок |
Перенести домен с ру на uaЗдравствуйте, нужна помощь перенести домен з платформы рег ру на украинскую платформу . Нужно все перенести и настроить , выслушаю ваши рекомендации Веб-программирование ∙ 19 часов 34 минуты назад ∙ 23 ставки |
Доработка 1с УТ 2.3, Адресное ХранениеТехническое задание: Внедрение адресного хранения в 1С:УТ 2.3 для Украины (интеграция с Mobile SMARTS) Цель проекта:Автоматизировать складской учёт с использованием адресного хранения, привязки товаров к ячейкам, штрихкодирования, интеграции с системой Mobile SMARTS. Обеспечить… Веб-программирование ∙ 19 часов 38 минут назад ∙ 1 ставка |