This system is developed to automate the management of user accounts of any web application. It allows using proxy servers and different algorithms to represent the system user as the owner of a single account of a web application. As an example, it can be used to bypass the restrictions imposed by web application on the account. The system is a desktop application that displays a list of accounts available to the user. By clicking on any account the browser is opened and the user automatically logged into the selected account.
In the project a mechanism to automatically download a list of proxy servers through proxy providers API was implemented. Also, the database in the form of Google tables was applied. It allowed to simulate the operation of real users, as well as to avoid the suspicion of using multiple accounts from the same IP address.
The goal of our team was to implement, test, and provide the customer with a fully working system.
AWT/Swing, Selenium, Google API (Drive, Spreadsheet), Jenkins, Quartz, Java WEB Start/JNLP, JIRA, JSON, Log4J, Apache commons libraries.
- On this project the practice of Continuous Integration was used. Automatic builds and tests run after each commit, automatic deploy and use of multiple application branches (production, develop) were configured.
- Google tables were used as backend part. This allowed to implement a full-fledged backend with low cost. Also, this approach provided an opportunity for the user without knowledge and experience in IT technologies, to edit the data in the database.
- Most of the logic was covered with unit tests.
- Built process of regular release production made them more stable and always on time. We used manual functional and regression testing.
- JIRA has made the development process be transparent to the customer.
- Support of several operating systems: OS X, Windows, Linux.
- The logging mechanism was applied that allows to debug an application remotely and solve the problems of each employee individually.
- The project was completed within the specified term.
- The latest version of application is actively used by employees of the customer company.
- The use of this application allowed the customer to reduce the cost of customization and environment support for each employee, making it possible to more efficiently use the staff time.
Company’s achievements during the project
- CI process was completely adjusted, all required environment was installed and configured.
- Quick building a cross-platform testing process and creation of use cases allowed to make releases more stable.
- Customer were proposed the new and interesting ideas for improving the project and processes, some of which have been applied. A few examples:
- The use of JNLP technology to implement the application run and its automatic update;
- The use of Continuous Integration.
- The team performed well in conditions of short iterations and frequent releases.
"I had pleasure to work with JazzTeam in a development project for my company in USA. I am very satisfied with the work they have done.
The communication was easy and really open-minded, the progress was as planned, and the results were above my expectation. There’s a manager who’s in constant contact with you and constantly gives you updates, clarifies the requirements and plans the sprint tasks and expected results.
Will not hesitate to work with them again on future projects."