Истории HWdTech

Windows версия MoneyWiz

Портирование Mac/iOS версии под Windows
MoneyWiz - удобное приложение для учета личных финансов. Must-have (признано лучшим финансовым приложением) по версии The Telegraph для тех, кто привык управлять своим бюджетом.
Попробуйте сами
Клиент
SilverWiz
Компания SilverWiz — разработчик приложения MoneyWiz для Mac/iOS/Android.
Ситуация
Windows версия
Очередным этапом развития приложения стала разработка Windows версии продукта. По ряду обстоятельств разработка затянулась, было сменено несколько команд программистов. В итоге, исправление ситуации было поручено нашей компании.
Сколько вы работали над этим проектом?
Мы приступили к разработке в январе 2015 года, и продолжаем сотрудничество по сей день. Если оценивать человеко-затраты, то сейчас они составляют 4 человеко-года.
Какие технологии вы использовали?
C#, WPF, Task Parallel Library, SQLite, ORMLite, Extended WPF Toolkit
Наш вклад
Приложение выпущено в апреле 2016
Нами значительно переписана имеющаяся функциональность, исправлены ошибки, увеличена производительность (для некоторых случаев в десятки раз быстрее), исправлены проблемы безопасности. Полностью разработаны следующие компоненты: панель виджетов, онлайн банкинг, отчеты, импорт/экспорт данных. Переработан дизайн приложения. Полностью автоматизирован выпуск новых версий и обновлений для клиентов.
А теперь подробно о том, что мы сделали
Внимание: длиннопост, долго и очень интересно
Какие задачи стояли перед нами, когда мы только-только начали сотрудничество с SilverWiz LLC?
Во-первых, нам поручили подготовить MoneyWiz к выпуску: изменить дизайн приложения в соответствии с новыми требованиями, разработать новые разделы, протестировать и исправить найденные ошибки. После старта разработки у нас возникли идеи по улучшению кода. Мы поделились нашими соображениями с заказчиком и получили одобрение на реорганизацию кода. Красной нитью стало требование высокого качества приложения на всех этапах разработки. Нам четко дали понять, что приложение будет выпущено, только когда все будут уверены в качестве на 100 процентов!











Когда основной функционал MoneyWiz был завершен и настало время альфа-тестирования, возникла задача организовать процесс развертывания. Мы использовали ClickOnce - технологию развертывания для десктопных приложений. Помимо этого, мы полностью автоматизировали процесс. Что это означает? Нашему клиенту нужно просто запустить одну команду, указать номер версии - и новая версия размещена на сервере, а пользователи получают обновления, все очень легко :) Заказчик доволен.
Кейсы, которые стоят внимания
продолжение длиннопоста
1
Очень важно для финансового приложения - интеграция с банковскими онлайн-агрегаторами SaltEdge и Yodlee
2
Появилась возможность составления отчетов и прогнозов по доходам и расходам. Здесь мы применили JS библиотечку Highcharts для отображения разнообразных графиков. Помимо этого, интересна нетривиальная логика создания фичи, но рассказ о ней потянет на отдельный кейс.
3
Кроме двух главных критически необходимых для проекта задач, о которых сказано выше, у нас была задачка меньше по объемам, но, как нам видится, равная по важности. Она заключалась в оформлении процессов лицензирования приложения: покупки лицензии или подписки пользователя, хранения лицензий, их верификации. Для управления лицензиями мы пользуемся Quick License Manager (QLM), а Fastspring - как провайдера оплаты.
4
Добавили синхронизацию устройств пользователя. На старте нашего участия в проекте эта возможность была в зачаточном состоянии, работала медленно, поэтому пришлось переписать в этом направлении все с нуля. Синхронизация в итоге реализована через SYNCbits - ПО, созданное нашим заказчиком, компанией SilverWiz.
5
Еще команда HWdTech успешно внедрила функцию экспорта и импорта пользовательских данных. Импорт поддерживается в форматах CSV, QIF, OFX, QFX, а экспорт может быть осуществлен в CSV (в скором будущем - релиз экспорта данных в формат PDF). Из-за специфики отрасли эта фича трудоемка - банки придерживаются форматов предоставления данных, указанных выше, лишь формально, на деле часто бывает так, что данные не соответствуют формату. Естественно, существующие библиотеки не подходили к нашему конкретному случаю, и команде пришлось разработать собственные методы преодоления такого препятствия.
6
Также мы привязали инвестиционные счета (для работы с акциями и иными ценными бумагами). Для запроса курсов валют, акций и т.п. используем Yahoo Finance и Open Exchange Rates
Заказчик доволен! Подтверждаем!
Михаил Вахрамеев, разработчик HWdTech, о проекте
Разработка приложения для финансовой и банковской сферы - ответственная задача, требующая внимания к точности вычислений, а также к безопасности данных.
MoneyWiz в этом плане - не исключение. В ходе разработки данного приложения я получил ценный опыт работы с бизнес-процессами в банковской области.
Большим плюсом данного проекта оказалось наличие технического бэкграунда у заказчика, что позволило выстроить отличные коммуникации внутри команды.
MoneyWiz является одним из лучших приложений в области контроля и управления финансами.
Я очень рад и доволен, что мне удалось принять участие в разработкеMoneyWiz.
E-mail
Имя
Телефон
Ваши идеи, которые мы поможем воплотить!