Concept, tasks, description

Due to the fact that the growth in the number of company customers has reached more than 1000% over the last few years, previously working solutions, such as call centers, have ceased to effectively cope with the tasks coming from the company's customers. It was necessary to create other ways to interact with customers. One of such means was a personal area on the company's website. The client's personal area had to provide the information most frequently asked by customers turning to the company's call centers.

It was necessary to create a personal area functionality for customers on the customer's website. It had to be integrated with the internal accounting system and with bookkeeping systems. The personal area had to update online information about the client's transactions, and it was necessary to enable clients to make online payments using various payment tools.

As some of the provided data could be related to personal data, it was necessary to ensure the confidentiality of personal and financial information. One of the main requirements for the development of this system was a reliability rate of at least 3 Σσς. A personal area was a system indirectly interacting with the main information system of the company, that is why it was necessary to protect the latter from various actions of third-party users.

What's been done
  • During the design phase, the system interface layouts were developed, and the logic of authorizing and identifying users and their interaction with the company's internal information stores was developed from scratch.
  • We have developed a two-factor authorization system which uses SMS technology.
  • We have created and implemented a protocol of interaction between the client's personal area and internal information systems via the intermediate gateway located in the DMZ.
  • To ensure security, a special gateway was created to work with internal information systems. It had a set of specific functions to detect unauthorized actions of intruders as well as to limit the burden on internal information systems depending on internal settings. This gateway had a system of notifications about unauthorized actions and suspicion of DDOS attacks.
  • Company customers got an opportunity to perform the following actions in their personal areas:

1. To track account status, real-time financial transactions;

2. To view the history of operations;

3. To leave comments and feedback;

4. To print receipts with completed payment details;

5. To make payments through various payment systems - Yandex. Money, Webmoney, Visa, MasterCard, Qiwi, etc.

  • In order to accelerate the implementation of the system, our company has developed a training program for employees, including video presentations for each system element with a detailed explanation of every process, and a description of ways how to do certain tasks.
  • After the implementation of the project, our company provided 24/7 consulting support.
  • We have introduced a new way for customers to contact the company and have achieved a 30% reduction of the call centers overload.
  • We have been able to make obtaining of information about the account financial condition more convenient for customers.
  • Thanks to the introduction of remote payments, the work load of the company's retail divisions has been reduced, and the number of non-cash payments received has increased by 30%.
  • We have designed and implemented functions which ensure the security and privacy of the customer's personal information by 99.9%.

Python, Tornado, React, Django, PostgreSQL, RabbitMQ, Nginx.

Project benchmarks
  • Unit-test coverage: 93%
  • Duration: 1,5 months
  • Project team: 8 developers
  • Hours spent by developers: 340
  • Number of clients of our customer: 600K+ per 5 years
  • Complexity: 6 out of 10