Парсер CSV документу зі списком транзакцій та збереженням їх в БД
Потрібно написати простий парсер, який буде приймати 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
-
1004 7 0 Добрий день . Я познайомився з прикладеним файлом. З такою формою знака, його розлучення труднощів не викликає. Готовий виконувати на Python з використанням фреймворка Django.
-
1066 25 4 1 Добрий день, звертайтеся до нас. Великий досвід як в парсерах, так і в базах даних
-
2012 67 0 Добрий день! Думаю без проблем реалізую потрібний вам прасинг. Пишіть в приватні, обговоримо проект детальніше.
-
2008 36 3 Доброго дня, без проблем можу реалізувати таку систему в декількох варіаціях, можу зробити через сторінку в браузері(сайт), можу зробити як desktop программу, чи імплементувати в телеграм бота.Ціна і сроки в особисті повідомлення.Робити буду на python
Актуальні фриланс-проєкти в категорії Веб-програмування
Інтеграція GoPosПривіт, робив хтось інтеграцію GoPos з кастомним сайтом для ресторану в Польщі? Потрібна допомога, у них дуже скудна документація, є тільки swagger і той без описів https://app.gopos.io/doc/swagger-ui/index.html Суть така, використовували від них сайт для онлайн замовлень, якщо… PHP, Веб-програмування ∙ 1 година 27 хвилин тому ∙ 10 ставок |
Розробка сучасного сайту для Театру
10 000 UAH
Шукаємо веброзробника для створення офіційного сайту сучасної культурної платформи. Проєкт об'єднує театральні, мистецькі, освітні та культурні ініціативи. Необхідно створити сучасний адаптивний сайт, який буде одночасно виконувати іміджеву функцію, презентувати події та… CMS, Веб-програмування ∙ 2 години 4 хвилини тому ∙ 48 ставок |
ИИ-агент технолога спортивного харчуванняАгент допомагає розробляти рецептури нових продуктів спортивного харчування — протеїнових батончиків, протеїнів, передтренувальних добавок, ізотоніків, батончиків тощо. Головна особливість: агент знає законодавство різних країн і автоматично враховує його при створенні… AI та машинне навчання, Веб-програмування ∙ 2 години 21 хвилина тому ∙ 29 ставок |
Розробка корпоративної фінансової системи — React, TypeScript, Node.jsШукаємо досвідченого full-stack розробника або невелику команду для розробки корпоративної фінансової системи з нуля. Необхідно реалізувати повний цикл розробки: проектування архітектури, backend, frontend, базу даних, тестування та запуск системи. Технології: Frontend: React,… Javascript та Typescript, Веб-програмування ∙ 2 години 52 хвилини тому ∙ 41 ставка |
Syrve/iiko + LiqPay: QR-меню, замовлення зі столу, чайові, підтвердження офіціантомПотрібен розробник / інтегратор для ресторану, який має досвід із Syrve/iiko або подібними POS-системами. Задача: реалізувати або спроєктувати інтеграцію QR-меню та QR-оплати для ресторану через Syrve/iiko та PrivatBank/LiqPay. Потрібна схема роботи: На кожному столі є QR-код.… Веб-програмування ∙ 4 години 54 хвилини тому ∙ 17 ставок |