Содержание

Система учета и контроля расходов телекоммуникационных услуг

Краткое описание проекта: система учета и контроля расходов телекоммуникационных услуг позволяет выполнять контроль над телекоммуникационными расходами компании.

Система представляет собой группу приложений:

  • Веб-приложение для клиентов
  • Веб-приложение для администраторов системы
  • Серверный компонент для обработки событий

Веб-приложение для клиентов предоставляет единую точку входа получения информации о всех счетах клиента (mobile, fixed, RAS, data) и выступает как служба ведения отчетности организации на всех уровнях – корпоративном, региональном и в масштабах страны, в рамках компании на уровне менеджмента и на пользовательском уровне. Данное приложение позволяет клиенту управлять информацией об организации, разграничивать права внутри компании между сотрудниками, организовать структуру иерархии компании, контролировать расходы за определенный период и т.

д.

Веб-приложение для администраторов управляет различными аспектами системы: управление пользователями, контроль за состоянием системы, просмотр событий системы, просмотр и удаление счетов клиентов, управление шаблонами писем, добавление локализации, добавлением справочных данных в систему и т. д.

Серверный компонент для обработки событий представляет собой многопоточное java приложение, которое отвечает за обработку различных событий, которые были инициированы другими приложениями.

Основными событиями данного приложения являются:

  • Создание новых клиентов
  • Загрузка и обработка счетов клиента в систему
  • Обновление структуры существующих организаций
  • Удаление устаревшей информации
  • Восстановление пароля пользователя
  • Активация и блокировка пользователя и т.д.

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

Еще одним важным элементом сервиса отчетов является предоставление возможности давать доступ своим сотрудникам к сервису, что значительно увеличивает их осведомленность о своих затратах на услуги связи и позволяет сотрудникам брать на себя ответственность за телекоммуникационные расходы, разделяя звонки на бизнес коммуникации и звонки для личного пользования.

Техническое описание проекта:

Система представляет собой многомодульное Maven приложение. С помощью Maven организована автоматическая сборка проектов с настройкой профилирования.

Веб-приложения реализованы на основе MVC-паттерна, который разделяет модель (бизнес-логику), представление (HTML-страницы) и контроллер (отвечающий за передачу данных от модели к представлению и обратно).Серверная часть приложений реализована на языке Java c использованием широко известных фреймворков Struts2 и Spring.

Клиентская часть реализована с применением технологий HTML, CSS, JavaScript, JQuery, AJAX, Struts2 tags, JSTL tags.

Для обработки нестандартных кейсов были созданы собственные jsp-теги (к примеру, многоуровневое меню с автоматической подгрузкой данных в зависимости от выбранной пользователем категории).

Для поддержки ролей пользователей и их управления используется Spring Security.

Система позволяет предоставлять различным пользователям разные уровни доступа для обеспечения наибольшей безопасности.

Связь между двумя веб-приложениями организована через технологию единого входа (Single Sign-On), что позволяет администратору переходить в другое приложение без повторной аутентификации.

Реализована защита приложений от различных уязвимостей и хакерских атак (к примеру: CSRF, XSS) с поддержкой кроссбраузерности с использованием CSP2.0 для более новых версий браузеров, а также реализовано собственное решение с использованием MutationObserverAPI для старых версий браузеров. В качестве сервера веб-приложений использовался Tomcat.

Серверный компонент для обработки событий представляет собой многопоточное консольное приложение. Данное приложение позволяет обрабатывать и загружать файлы нескольких форматов (CSV, PDF, XML), также принимает справочные данные из XLS и JSON-файлов. Связь с другими приложениями системы организована посредством сложной событийной модели. Количество потоков для обработки событий определяется пользователем. Управление потоками организовано с помощью стандартного пакета java.util.concurrent.

Система использует базу данных Oracle. В базе данных присутствуют 2 вида таблиц:

  • таблицы для хранения служебной информации приложения, которая редко изменяется (например, локализация, настройки приложения),
  • таблицы, которые используются для хранения данных о компаниях, пользователях, затратах на услуги и прочую бизнес-информацию.

Для выполнения сложных операций с данными в БД используются хранимые процедуры на языке PL/SQL, что повышает производительность, расширяет возможности программирования и поддерживает функции безопасности данных.

Взаимодействие с базой данных осуществляется с помощью Hibernate и JPA. В некоторых случаях для достижения лучшей производительности используется JDBC Connection.

Технологии:

Stack: Java, Maven, JPA (Hibernate), JDBC Connection, Servlet API, TagLib, JSTL, Jaxb, SuperCSV, JAX-WS, Apache commons, Apache POI.
Infrastructure: Jenkins, SVN.
Frameworks: Struts2, Spring, Spring security.
Test Automation libraries: Mockito, JUnit.

DB: Oracle, PL/SQL.
Other libraries: Ehcache, Achartengine.

Скриншоты:

Что делали на проекте, наши обязанности:

Силами нашей команды выполнялись следующие работы:

  • поддержка стабильности приложения,
  • реализация нового функционала,
  • рефакторинг,
  • багфиксинг,
  • покрытие модульными, Data Driven, нагрузочными и интеграционными тестами,
  • проведение тестирования на всех этапах разработки,
  • создание документации к проекту.

Особенности проекта:

  • Среди особенностей данного проекта отдельно стоит отметить его долгосрочность взаимодействия с заказчиком: наша совместная работа на проекте длилась более четырех лет.
  • Работа с Legacy system. Приложение разрабатывалось на протяжении 10 лет, использовались старые версии библиотек. Возникала необходимость поддержки совместной работы новых и старых версий различных библиотек.
  • Коммуникации и совместная работа с территориально распределенными англо- и русскоязычной командами.
  • Интеграция всех частей системы: веб-приложений, компонент для обработки событий, мобильное приложение для android платформы.
  • Создание хранимых процедур на языке PL/SQL для СУБД Oracle.
  • Первоначальное отсутствие тестов, javadocs, документации.
  • Ведение проекта по Scrum методологии, использование Jira для управления проектом и коммуникаций с заказчиком.

Результат проекта:

  • Реализован новый функционал и исправлены баги.
  • Внедрен Continuous Integration.
  • Реализован автоматический деплой приложений.
  • Написаны тесты для UI с использованием xml2selenium, юнит-тесты для серверной части и андроид-приложения.
  • Проведен анализ приложения на OWASP Top 10 Most Critical Web Application Security Risks, нами были исправлены проблемы с уязвимостью приложений.
  • На протяжении всего периода разработки нового функционала мы также занимались сопровождением и поддержкой Live-систем заказчика, и сделали этот процесс стабильным.

Достижения компании на проекте:

  • Выполнено документирование проекта. Создано порядка 30 документов с техническим описанием, мануалами, диаграммами, описанием работы приложений:
    • различные диаграммы для поддержки стабильности проекта на протяжении всего периода времени,
    • документ с описанием как работать с иерархиями компании,
      Installation guide,
    • видео и аудио учебные материалы для быстрого погружения нового сотрудника в проект.
  • На проекте нами была выполнена нормализация базы данных – была применена структура связей между полями и таблицами для снижения вероятности возникновения ошибок, оптимизации объема на жестком диске.
  • Был внедрен Continuous Integration и авто-тесты, реализован автоматический деплой приложений на сервер заказчика.
  • Улучшена методология автоматического популирования БД структурой базы и данными.

👆Пять лучших приложений для контроля бюджета | Смартфоны | Блог

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

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

Дзен-мани: учет расходов

Приложение Дзен-мани имеет большой рейтинг и кучу положительных отзывов. Плюс ко всему после установки пользоваться полной версией можно бесплатно в течение двух недель.

Приложение способно считывать смс от банков, чтобы учитывать эти данные при подсчете. В Дзен-мани можно подключить импорт операций из «Сбербанка», «Альфа-банка», «Тинькофф», «Яндекс.Денег», Webmoney или QIWI, но для этого необходимо разрешить доступ к смс-сообщениям и уведомлениям.

На главной странице есть 3 вкладки: счета, история и обзор. Во вкладке «счета» отображаются все карты, которые пользователь привязал к приложению, и наличные. Сюда же можно подгрузить депозиты или кредит, прописав процентную ставку, срок и сумму вклада.

Дзен-мани просигнализирует вам оповещением, если за день вы не добавите в него ни одну транзакцию, что очень удобно для тех, кто постоянно забывает об этом.

К плюсам можно отнести удобное деление на категории трат: дети, продукты, образование, машина, одежда, зарплата, развлечения и т. д. К этим категориям можно добавить и свои собственные, например лекарства или домашние питомцы. Помимо этого можно довольно подробно прописать, на какие конкретно нужды будет тратиться бюджет. К категории «машина» можно добавить «мойка автомобиля», а к категории «коммунальные платежи» — свет или отопление.

Посмотреть сразу все категории расходов можно во вкладке «отчет по категориям». Здесь в виде инфографики сразу можно увидеть, на что ушла большая часть бюджета.

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

Скачать для Android | iOS

Coinkeeper

Еще одно неплохое приложение для контроля бюджета — Coinkeeper, оно также имеет высокий рейтинг, а по информации с официального сайта пользуются им уже более 200 000 человек.

При начале работы с приложением вам необходимо будет вписать, сколько денежных средств у вас есть в данный момент. Для этого есть 2 раздела: кошелек и банковский счет. В дальнейшем можно добавить еще несколько разделов, например, карты, кредитки и т.д. Интерфейс Coinkeeper’а проще, чем у Дзен-мани, и на главном экране находятся сразу несколько категорий трат (продукты, транспорт, дом, развлечения и т.д.), отображается доход и сумма, которой вы располагаете.

На каждую категорию можно задать свой бюджет. По мере трат иконка определенной категории будет заполняться цветом, что очень удобно. Так вы сразу увидите, сколько еще можете потратить, а когда пора остановиться.

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

Скачать для Android | iOS

Бюджет — Расходы и Доходы 1С

Приложение «Бюджет» чуть более замороченное, чем Coinkeeper, и разобраться с ним будет не так просто, но тут есть все те же графики по категориям расходов, анализ расходов и доходов в месяц.

Приложение подробно расписывает и анализирует за вас, сколько вы потратили наличными или картой. В приложении можно задать конкретный бюджет на тот или иной период времени, и если вы выйдете за эту сумму, то сразу получите уведомление. К тому же на главном экране вы всегда можете наблюдать в процентом соотношении, сколько от бюджета у вас осталось.

Кстати о главном экране. Здесь отображаются: кошельки, расходы, план, доходы, бюджет, займы и накопления. Очень удобна функция отправки сообщения тем, кто вовремя не вернул долг. Отчеты из приложения «Бюджет» можно выгружать в формате таблицы.

Скачать для Android | iOS

Goodbudget

Goodbudget станет вашей силой воли, а точнее вашей willpower: увы, но приложение только на английском. Отличительная черта — вам самим нужно составить финансовый план на месяц, а программа проследит, придерживаетесь вы его или нет. Это приложение больше подойдет тем, кто уже вел свой или семейный бюджет: новичкам будет сложно трезво оценить свои возможности.

Во вкладке Envelopes вы сами задаете категории трат и выставляет лимит по ним, а также можете планировать свой бюджет на любой период.

При выходе за рамки планируемого бюджета Goodbudget оповестит вас и выделит цветом графу, на которую следует обратить внимание. В приложении можно посмотреть историю транзакций и графику, составленную из ваших ежедневных трат.

Скачать для Android | iOS

Wallet

Основное достоинство приложения — продвинутый функционал. Интерфейс приложения очень удобен и будет понятен даже ребенку. Wallet способен синхронизировать операции с банком, чеками и гарантиями, что избавляет вас от лишней работы по вбиванию всего этого вручную.

В приложении можно задать расходы и доходы, оно способно анализировать долгосрочные финансовые цели и вести учет долгов. Для большего удобства Wallet добавляет к категориям хэштеги и геометрику. Это помогает быстрее найти нужную статью расхода и наглядно увидеть, на что были потрачены средства.

Кроме всего вышеперечисленного приложение автоматически экспортирует данные сразу в несколько текстовых форматов: CSV/XLS/PDF, создает шаблоны платежей и списки покупок.

Скачать для Android | iOS

Стоит ли пользоваться приложениями по контролю расходов?

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

Последние годы пользователи слишком часто слышали о различных скандалах, связанных с нарушениями приватности данных. Все это происходит на фоне постоянных новостей о хакерах и утечках информации.

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

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

Но безопасно ли передавать все свои финансовые данные какому-то приложению?

Этот вопрос следует задавать, прежде чем устанавливать подобные программы. К счастью, оно может быть не таким опасным, как может показаться, при условии, что вы используете программу с хорошей репутацией. 

В большом количестве популярных приложений, вы предоставляете данные напрямую со своих банковских карт и счетов. В некоторых приложениях используются и другие источники прибыли, например доход с акций. Чтобы в приложении данные о вашем бюджете были актуальными, оно периодически будет выполнять синхронизацию с вашими счетами в онлайн-банке.

Однако доступ осуществляется в режиме «только для чтения». То есть они могут просматривать ваши финансовые операции, но вносить какие-либо изменения (например, переводить средства без вашего согласия) не могут. Получив ваши данные, приложения для контроля бюджета обычно хранят их на собственных корпоративных серверах. Это мера безопасности на случай, если кто-то украдет ваш телефон и откроет приложение для контроля бюджета. Доступ к вашему онлайн-банку он не получит.

Как выбрать приложение для контроля за расходами

1. Ознакомьтесь с положением о конфиденциальности

Прежде чем выбрать приложение, ознакомьтесь с его положением о конфиденциальности. Иногда оно может занимать много страниц, с большим количеством юридических терминов. Обращайте внимание на слова «продать» или «предоставлять». Так вы сможете легко проверить, не будет ли приложение продавать ваши личные данные третьим лицам.

Если у приложения вообще нет положения о конфиденциальности, то рекомендуем выбрать другую программу.

2. Проверьте уровень безопасности приложения

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

Поинтересуйтесь, как шифруются данные пользователей (128 битное шифрование — хорошо, 256 бит еще лучше) и проверьте, имеет ли приложение функцию двухфакторной аутентификации.

3. Узнайте, кто разработчик приложения

Многими приложениями для контроля расходов владеют крупные финансовые учреждения с опытом безопасной обработки данных пользователей.

4. Пользуйтесь официальными магазинами приложений

Официальный магазин приложений, в теории, гарантирует безопасность приложения. Это может обезопасить вас от программ-шпионов, adware и прочего вредоносного ПО.

5. Изучите отзывы о приложении

Отзывы могут дать первое представление о приложении. Если пользователи часто жалуются на программу и ставят низкие оценки, есть повод посмотреть другие варианты.

6. Установите пароль на устройство

Чтобы никто не смог украсть ваши финансовые данные, установите пароль для разблокировки устройства Это также важно для защиты вашего банковского счета, фотографий и другой личной информации.

7. Установите мобильный антивирус

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

8. Будьте осторожны при использовании бесплатных точек Wi-Fi

Никогда не проверяйте свой банковский счет и не используйте приложение учета расходов в общедоступных сетях Wi-Fi. Злоумышленники могут перехватывать подобную информацию.

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

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

Следите за нашими новостями в социальных сетях ВКонтакте, Одноклассники, Facebook и Twitter. 

Lean — простой трекер расходов. Как не потратить все)