воскресенье, 16 августа 2015 г.

Kaikei: Финансовый менеджер (Часть 1)

Прошло около 2-х лет, как я начал вести учет своих расходов в самодельном финансовом менеджере на ASP.NET MVC, и у меня набралось много пожеланий и идей, того, как должен выглядеть и работать финансовый менеджер, поэтому я решил полностью переписать, выпустив новую версию.

Проект получил имя Kaikei (яп. 会計 пер: account; finance; accountant; treasurer; paymaster; reckoning; bill)


Основные причины необходимости новой версии:
- Нужна адаптивная верстка для мобильных устройств
- Нужна возможность сбора вспомогательной информации из email от банка, чтобы упростить процесс внесения трат
- Нужна продвинутое редактирования уже существующих транзакций/категорий...
- Нужны дополнительные среды статистики
- Развлечься, освоив чего-нибудь новое в процессе.



Для разработки приложения я буду использовать следующие инструменты:
Платформа:
ASP.NET Web API
Языки:
  • C# для серверсайда
  • Typescript для клиентской стороны

Либы:
  • ImapX - для обработки писем от банка
  • CsQuery - для парсинга html контента писем
  • EntityFramework - для работы в БД
  • materializecss - для верстки клиента
  • V.ts - самодельный шаблонизатор/биндер (про него напишу как-нибудь позже) на основе handlebars.js
Разработку я начал с парсера писем, т.к. все карточки у меня от ВТБ24, то задача довольно простая, текст из писем с их уведомлениями прекрасно парсятся следующим regexp:

(?<date>\d{2}\.\d{2}.\d{4})\sв\s(?<time>\d{2}\:\d{2}:\d{2}) по Вашей банковской карте ВТБ24 (?<cardName>.*?)\sпроизведен(а|о)\s(?<operation>.*)\sна сумму (?<amount>[0-9\s\.]*)\sRUR. Доступно к использованию (?<balance>[0-9\s\.]*)\sRUR.*?место - (?<place>.*?), код авторизации

этот regexp применяется к вытянутому тексту из  html письма селектором:
table > tbody > tr:nth-child(2) > td > table > tbody > tr > td > table > tbody > tr:nth-child(4) > td:nth-child(2) > span:nth-child(4)

Дальше запихиваем в модель и сохраняем в БД.

На этом работы с бекендом заканчиваются и можно переходить на фронтенд, о котором я напишу в следующий раз.

1 комментарий:

  1. Bongo Casino Review by Viacom and Viacom
    Looking to get free spins in casinos? 배당 흐름 BetUS Casino 다음 스포츠 offers you an excellent sign-up 메이저토토 offer. 진베이 The website offers a nice interface, a great welcome bonus and  Rating: 2.8 · ‎Review by 파워 사다리 Viacom

    ОтветитьУдалить