Project summary: The system consists of two major components:
- web application for managing the mobile operator data: tariff plans, discounts, bonuses, promotions, services types and cost;
- component of data downloading to the external billing system according to business rules.
All editable information in the system is tied to:
- regions: each region has its cost and connection conditions;
- historicity: the data is not deleted, it’s possible to "roll back" to the previous version or to cancel the changes;
- projects: the user makes the data changes within the virtual project. As a result of this the changes are accumulated, grouped and applied together.
Telecom operator employees fill out the necessary information, then the mechanism of data unloading into the billing system according to business rules is started. After this new tariff plans, services, and discounts are available for subscribers. The system interface is interactive, does not require the page reloading, and made on the basis of Single page application.
The responsibilities of JazzTeam developers included implementation of new features, refactoring, bugfixing, writting unit and integration tests, consulting the customer in order to improve the code and processes quality.
Technologies: Java, Vaadin, Hibernate, JPA, Apache Tomcat, PostgreSQL, Oracle, JUnit, DBUnit, Git, Jira, Confluence, Bamboo CI, Selenium, Maven, Flyway (database migration tool).
- A large number of legacy-code in the existing system.
- Distributed team - 2 countries, 3 cities.
- Scrum/Agile - daily Scrum meetings, the two-week sprints.
- Tight schedule for new features development and bugs elimination.
- Complex data model with territorial and historical entity types, as well as with data changes binding to the framework of separate "projects" in the system.
- Interactive interface - Single page application.
- The existing component of data downloading was stabilized.
- The web application was stabilized.
- The new features that allow to extend the current functionality and stabilize the system were implemented.
- Refactoring several parts of the application was carried out, and the number of legacy-code was reduced.
Company’s achievements during the project:
- A number of interesting architectural and technical solutions were proposed by JazzTeam engineers. For example:
- Creation of application business layer.
- Spring Framework implementation.
- And other, more scale focused project proposals.
- Code-style standards and code quality requirements were implemented.
- Unit testing was implemented.
- Data Driven Testing approach for functionality of data uploading was implemented, the test framework for rapid test cases automation was developed.
- DBUnit for quickly check of the database state during unit-testing.
- Thanks to the test coverage the data uploading component has become more stable.