Legal portal development for 150K lawyers and accountants

Legal portal development for 150K lawyers and accountants

Itransition developed a web portal with regulatory and analytical materials for over 150,000 accountants and lawyers.

Case study

Legal portal development for 150K lawyers and accountants

Context

Our customer is a European company that owns a proprietary legal information system. The system allows users to search throughout a centralized database of legal and regulatory documents. Operating since 1998, the company serves over 20,000 companies.

For many years, the legal information solution had only been available as a desktop app, which restricted its reach. As online products started to dominate the market, end users – mainly accountants, lawyers, and business owners – voiced their need in accessing the system on the go.

The company wanted to strengthen their position on the market by offering convenient and easy access to legal and regulatory information. Therefore, in addition to the desktop version, they decided to create a web solution that would enable full-cycle legal content management. Since the information presented online differed from its offline counterpart, the company decided to build a web solution from scratch.

Based on our business analysis findings, technical specification and proposed features, the customer selected Itransition’s team to perform end-to-end legal portal development.

Solution

Skilled in web portal development, Itransition’s team delivered a web portal with the company’s entire body of legal materials. This solution automates content management, facilitates content search, and ensures convenient interaction with the large document database.

The portal overview

  • News
  • Articles
  • Data-based commentary on current and hot topics
  • Tests
  • Expert opinions

The legal acts and analytical materials published on the web portal explain or comment on the legislation, analyze judicial precedents, provide instructions on how to fill out legal forms, and more.

The solution consists of a client-side application and an admin panel. It supports two user groups: lawyers and accountants.

Registered users can search for necessary documents, from labor legislation to government resolutions, and interact with them.

In the view mode, users can search within selected documents, export and print documents, add documents to favorites, save bookmarks, etc.

In the comparison mode, users can look up the history of changes and navigate through the snippets of the edited text. Users also get notifications when new materials are loaded, existing documents get edited, or user subscription is about to expire.

In every mode, users can select their user type to filter the portal content accordingly.

The news feed on the home page is updated several times a day. Apart from text, the news feed also supports video news, where experts raise and discuss important issues and current industry developments. Additionally, users receive a weekly digest of the most popular content.

While at this legal app development, we also launched a recommendation service, which suggests content popular among users with similar profiles. The list of recommended documents is constantly updated and generated based on the user search and viewing history.

The test section contains self-test materials and questionnaires on a specific knowledge domain. The portal visitors can use tests to assess their knowledge, while organizations can send the tests to job applicants to evaluate their qualifications. Besides, the web portal can also host contests and quizzes featuring questions by topics, with prizes for the winners.

The portal also provides information on different industry events, including their time, venue, price and registration details. It also allows users to suggest topics for forthcoming conferences.

Finally, the admin panel enables administrators to manage the documents in the database. The administrators can import, verify and publish them, adjust search criteria, and add news.

Per-minute billing

Initially, all subscribers had been charged fixed monthly payments. However, as the majority of users consulted the solution from time to time only, it wasn’t reasonable for them to pay for the entire month at once.

That’s why our team suggested a per-minute service plan. Convenient for users, such a billing schedule was also beneficial for the customer, who could now monitor users’ interest and make the solution even more valuable to them.

Features

Document import

To keep the existing document management process, the web solution had to use the same source files as the offline system. These source files had a specific text formatting (for example, links and highlighted text boxes in custom styles). It was critical to preserve the structure of the source files as they had to stay unchanged for the correct operation of the desktop version.

To address this challenge, Itransition’s team designed the solution to recognize the formatting of the source files, process and transform them into new documents to be stored in the web system along with their source files.

Search engine

Search result rankings are based on a custom search algorithm adapting regulatory language to users’ simple queries. All queries are grouped into topic-related clusters. Based on these clusters, the system defines matching synonyms and phrases. The search features include:

  • Different search mechanisms for different user profiles
  • A query analyzer that recognizes key document attributes in user requests, such as dates, numbers, titles, etc.
  • Autocomplete of a search query
  • Alternative options for search queries

Document view

In the view mode, the system processes content within documents on the fly. For example, if document A contains the link to document B that doesn’t exist in the system or isn’t available for the viewer, this link will not be displayed.

When new versions of a document appear, the system automatically analyzes and indicates all important changes in the document, such as deleted or added sections, edits, etc. This feature allows corporate users to learn about the changes quickly and adjust their activities if necessary to comply with newly introduced regulations.

Smart pages

  • Built-in calculators to help accountants and lawyers quickly calculate different types of benefits and payments to the state budget.
  • Legal checkups for users to search for and get all the information about the status of a business entity to ensure it is not liquidated or bankrupt, has no active debt or registered violations, etc.
  • Onboarding to ensure that users get up to speed with new system features and to guarantee successful user adoption.
  • Online chat for users to ask questions, get advice, and give feedback on the solution, and to improve the overall quality and speed of support services.

Personnal settings

  • Management of selected documents and bookmarks, so that users can add entire documents or their parts to their favorites.
  • Feed category configuration for users to customize their news feed and get relevant content only.

Content management system

Itransition’s team developed and integrated a content management system to facilitate legal data management, specifically, of legal documents. The system organizes documents by semantic criteria, simplifies navigation through the table of contents, and enables users to mark any text fragments or separate words with identifiers – tags or links (for example, to a relevant regulatory act). These identifiers could be collapsed, expanded, or highlighted graphically. Users can see all the documents that refer to a given document as a list of links. Here, the added tags serve as the foundation of a legal vocabulary.

To ensure effortless content management, we integrated the solution with the following third-party tools:

  • TinyMCE, a powerful text editing platform
  • Alfresco, a document management system that supports well-structured document management workflows

With this custom content management system in place, users can publish documents in real time, which was impossible in the offline version where documents had to be scheduled for release (e.g., no more than once a day). Real-time publishing also made it easier to correct any errors in documents.

The CMS is compatible with the legacy offline system. Materials created and published online are can be then downloaded and automatically converted to the XML format supported by the legacy system. After that, documents can be released within the offline solution according to the schedule.

Maintenance and support

To ensure positive user experience, especially for those previously subscribed to the desktop version, Itransition established the customer support process.

Within one week, Itransition’s support and maintenance specialists launched first-line user support to help external and internal end users with the newly delivered web solution.

We also created a knowledge base for the customer’s in-house support team. As the project progressed, we gradually filled the knowledge base with content and provided training for the customer’s internal team.

Our specialists set up automated 24/7 monitoring of both the online and offline portals, as well as launched preventive maintenance.

Itransition’s team was also responsible for Level 2 support, which included regular software updates and the maintenance of the solution’s infrastructure.

These are various parameters that are monitored ongoingly and help the support team take relevant maintenance measures:

  • The server and home page availability with real-time notifications that are manually checked and verified through auxiliary metrics.
Home page and server availability

  • Server data showing the percentage of processor load, task queues, etc.
Server data

  • Availability of additional environments (stage, test) and services (i.e. billing).
Additional elements

  • Disk space availability. We integrated Graylog with automated alerts initiated by triggers colored yellow (<25% free disk space), orange (<15%), red (<5%). Each color suggests a specific escalation path and reaction time.
Disk space availability

All the alerts and notifications are controlled by the additional alert “Agent doesn’t send data on %server_name%” that appears when the server stops sending data on the monitored metrics. The alert gets triggered for multiple reasons, from physical damage (overheating) to network-related issues and server reconfiguration.

Itransition provided detailed reports on the resolved incidents. They included the following information:

  • Problem type (website issues, user unable to log in, document export issues, low speed of document loading, incorrect user authorization, etc.)
  • Number of requests (by type)
  • Issue resolution time for different incident priorities (critical, standard, or change request)
  • Number of incidents reported by end users (by phone and via the portal)
  • Number of incidents reported by the customer’s employees

Technologies & tools

The frontend was built using JavaScript as well as TypeScript as the main language replacing JavaScript in new components. The AngularJS Material component library was utilized for the solution’s UI. To ensure the app functions properly in different browsers, we leveraged the Babel compiler. The frontend was built with the webpack tool.

The backend was implemented with the help of the Gradle build automation system. The app’s backend is based on Java utilizing the Spring Boot framework. We leveraged Kotlin to create a number of the services. Itransition’s team also used Hibernate, JPA, Querydsl, Spring Data, and jOOQ libraries to ensure the correct interaction of the app with the database.

We employed the Spring Integration framework to make document processing extensible and customizable.

The PostgreSQL was used as a database management system that stores all user data and document meta-information. The MongoDB database ensures secure storage and quick access to documents.

Elasticsearch enables full-text search, with logs stored in a separate cluster collected through Logstash and displayed with the Kibana data visualization plugin. The RabbitMQ queue server ensures asynchronous interaction between the system components as well as with external systems. To create distributed cache, we utilized the Apache Ignite database.

Additionally, we integrated the solution with the Piwik analytics platform and Google Analytics to track and analyze user behavior and collect website statistics.

Itransition’s engineers used TeamCity as a CI/CD system. To simplify the delivery of individual system components to various environments, we used the Docker container platform. We chose Ansible to automate the setup of the servers. To make delivery transparent across various environments, we adopted GitFlow.

Enterprise resource planning (ERP) integration

To manage user accounts and subscriptions, we integrated the solution with the customer’s ERP system, which ensured:

  • Flexible access management to prevent unauthorized access to documents
  • Personalized selection of services
Integaration of the legal portal with ERP

The system is monitored with Zabbix, an enterprise-level tool for real-time tracking of numerous metrics collected from different platforms. We integrated the solution with Graylog to enable log management with automated alerts.

Process

The custom web portal development started with business analysis. We ran several weekly meetings to discuss the customer’s existing processes, the current and planned features of the portal, and the business specifics.

This stage was instrumental in helping us design and implement the solution without any disruptions to the customer’s established business processes. We preserved the source file formats and content creation mechanisms, so the customer needed no extra resources to integrate the online and offline systems.

Depending on a component to be designed (e.g., the news feed, search engine functionality, content categories, etc.), the development team was split into eight workgroups combining Itransition’s and the customer’s specialists, who worked in close collaboration. We organized regular meetings to share ideas and discuss new features.

Results

The legal information portal delivered by Itransition now serves more than 150,000 unique users. The average daily audience of the web portal reaches 10,000 visitors. With over 500,000 documents, this is the largest database of regulatory documents and analytical materials in its country.

The solution received positive feedback from users, particularly for its usability, intuitive interface, and quick and convenient access to information. The web portal users were particularly pleased with the new per-minute billing plan.

Having finalized the legal app development, Itransition’s specialists trained the customer’s team so that they could handle any potential issues relying on automatic notifications from the system without resorting to any external vendors. Itransition also helped the customer to establish a fully functioning first-line of user support, where Itransition’s team provides 24/7 system monitoring as well as processes tickets from the customer.

Cooperation with the customer is still in progress. Itransition’s development team keeps enhancing the solution’s functionality with new features and service options, whereas our customer support team delivers Level 1 and Level 2 support services.