The file of arbitration cases is another project of Parcsis, for which the client was created under the Android OS. This is the third project in a row, and it took into account all the experience at the time of developing
Selloby and
ATP .
What is the ring road?
Card File of Arbitration Cases (CR) is a unique Internet resource that provides access to virtually all cases that have ever been considered in the arbitration courts of the Russian Federation, including the courts of first instance, appellate courts, cassation courts and the Supreme Arbitration Court . At the time of this writing, there are 9,425,983 cases in the system. Each case has a card that contains detailed information about its movement through the instances, the participants, and all judicial acts are available. Each of the documents appearing in the case can be viewed or downloaded in pdf format.
')

Mobile client for CAD implements most of the functionality of the web version. Work is possible without authorization. Immediately after starting the application, the search screen opens. Here you can enter the criteria by which the cases will be selected - these are the participants in the case with details on the role (any, claimant, respondent, third person), judge, court and case number. All entered search criteria are saved, you can return to them using the swipe. Here, on the search screen, the total number of cases in the system is displayed.

From the search screen, you can also go to the list of favorite cases, subscriptions, or get help on using the application. After clicking the "Find" button, the search results are downloaded from the server. At the bottom of the search results screen there is filtering by the type of case - all cases, administrative, civil and insolvency (bankruptcy).

On the case file you can see a list of authorities in which the case was considered. For each instance a list of documents is available. In the "Participants" tab, all the parties to the case are displayed, and in the "Judges" tab, the judges who have dealt with the case are displayed. The last tab, "Documents", displays a list of all decisions on the case.
With the help of the "Electronic Guard" system you can subscribe to receive changes in the case. In this case, notifications will be sent to the specified e-mail, for example, about the appearance of a new judicial act or the appointment of a judge. In order to use “Guardian”, you need to log in to the system using the “Enter” button in the program header, and then go to the “Subscriptions” tab. Two subscription options are possible - by case number or by the name of the participant.
Two versions of CAD
The question that I would like to anticipate is “Parksis, why have you
published two versions of the Card File at once in Google Play?”
The first application was conceived as a simple tool for viewing cases.
The new KAD combines not only the viewing of a card, but also a subscription, adding to favorites and many other functions.
In the first version of the file there is no possibility to work without authorization, there is no saving of documents, many other functions. However, the version is saved in Google Play at the request of our users, who are satisfied with simple functionality. The first version will not be supported and developed.
Unit tests
On the engineering side, this project is new in that we used almost complete code coverage with automated tests. Otherwise, we used the same technologies and methodologies as on our other projects.
The project itself has a size of 12.3 KLOC, and unit tests for it - 3.5 KLOC. There are about three hundred tests in total, they are in more than seven dozen descendants of junit.framework.TestCase. JUnit 3 was used.
What exactly are we covered with tests?
There is no particularly complex logic in the program, except that caching, adding to favorites and saving search results. Tests we have covered all the interaction in the back-end. For each request that we send to the server - at least one test that sends a request and processes the response with a parser, plus some specific checks for each specific case. So we make sure that the server responds adequately to our requests and gives exactly what we are going to receive. This approach gave us the ability to quickly respond to all changes to the server side, and even allowed us to find one bug related to caching.
A large number of tests entailed the need for deeper decomposition - there were many classes that perform atomic actions, such as a service request or json parsing.
In this project, the UI layer was not covered with tests, because, firstly, it is very simple, and, secondly, it is economically unprofitable due to frequent design adjustments, ease of error detection and high complexity of automating user interface testing.
Conclusion
The program was released on February 1, 2012. Currently, the "Card file of arbitration cases" is used on more than seven thousand android-devices. In the future, it is planned to combine all the services of the Supreme Arbitration Court of the Russian Federation in one mobile application.
UPD. At the request of readers, here is a link to a similar application for iOS
itunes.apple.com/ru/app/arbitr/id500039565?mt=8