Overhauling and Expanding a Multi-Tenant Data Document Storage and Management Solution for a U.S. Technology Provider

Highlights

  • Legacy-to-Modern Document Management System Upgrade: completely overhauled and expanded a legacy DMS, creating a data storage space for new users and unlocking business growth opportunities.
  • Creating New & Cloud-Based DMS Functionality: implemented database multi-tenancy and complex Role Management system, resulting in customer experience and satisfaction improved significantly.
  • A Significant Increase in the Product’s Performance and Scalability: leveraged the Cloud technology and already migrated 20 TB of data from the legacy app to the Cloud, dramatically reducing the file-downloading time for the users.

Client

A US-based information and document management technology provider, which has been engaged in providing document management services for more than 30 years. The company has clients in Automotive, Entertainment, Payroll, Financial Services, Banking, and other industries both inside and outside the U.S., including some of the Fortune 500 companies.

Country
Industry
Team Size:

Product

After our involvement, the client’s system became a multi-tenant Cloud application with a multi-tier user hierarchy that allows digitizing, storing, sending, and managing various documents

The app’s advanced search functionality makes it possible to search for documents using multiple criteria. One can add pages to documents, replace a page in a document, zip files, and send them in a .zip or .pdf file by email.  

Goals and objectives

  • Completely Redevelop the Application:

Enable the client to onboard new customers and expand the user base, leveraging the modern technology stack and breaking out of the limitations of the legacy solution.

  •  Automate the File Submission Workflow:

Enable users to upload document files on the Web, instead of having to provide them on a flash device.

  • Expand the Functionality:

Add some business-critical features to the app, including a database multi-tenancy auditing capability, more user roles and user permissions, a file validation and error-handling capability, a replacement capability that allows replacing a single page in a document, the ability to upload a photo from a mobile device and add it to a document as a page.

  • Move the New Solution to the Cloud:

Migrate the data from the legacy application and improve the solution’s security, while also introducing a disaster recovery option thanks to the Cloud.

Project challenge

  1. Tight Deadlines: work under specific time constraints, since the client was running out of space in the in-house local database, which was going to result in blocking the onboarding of new clients.
  2. Complete Absence of Documentation: implement a range of challenging functionality and complex role management, even though the client’s legacy app was written in Visual Basic and was around 30 years old, without any documentation.
  3. Reducing File Downloading Time: find a way to minimize file-downloading time in the S 3 Cloud, to improve user experience.

Solution

To implement the project, SPD Technology put together a team that consisted of 1 frontend developer, 2 backend developers, 1 QA engineer, and 1 PM. We’ve been using Agile as the development methodology. To maximize the communication process with the client, all the team members have been directly communicating with their CTO.  

We’ve opted for AWS as a solution from the most popular Cloud provider, whose products we have a great deal of experience with. 

Auth0 has become our security solution of choice because of the high level of security it provides, a range of free features, the solution’s good integration ability, and our extensive experience with it. 

We also decided to use Terraform as it allows great time savings and reduces the odds of human error during the infrastructure deployment. 

In delivering the solution, SPD Technology’s project team has implemented a range of challenging functionality that has taken some additional research, effort, or experiments to solve:

  • DB multi-tenancy. To implement this functionality, we did some additional research and conducted an internal knowledge transfer. 
  • Advanced search. Our developers had to spend some extra time on implementing the multiple, diverse search criteria.
  • PDF-editing function. The function allows editing documents, merging them, and finding duplicates. SPD Technology’s project team put in an additional effort to select the more suitable libraries when implementing this function. 
  • Picture conversion in PDF files. The system allows converting files in several formats to JPG and adding the resulting JPG file to a PDF document. 
  • Creation of major ZIP archives. It has taken us an additional effort to implement the creation of major zip archives that contain up to 3000 PDF files.
  • A DB multi-tenancy auditing capability. The capability allows auditing all user actions in the system, from the login to any data manipulation. Any actions related to the creation, editing, or deleting of any data are logged and stored in the system. Implementing this functionality has involved a lot of experimenting. We studied the related best practices. 
  • Intricate role-specific functionality. Implementing the intricate interrelations between some of the user roles required quite a bit of skill. More specifically, we’ve implemented 7 different customizable permissions for 4 user roles, as well as different access patterns for each of these roles. 

Our team managed to move the entire system to the Cloud, fixing several code maintainability-related issues along the way. Additionally, we’ve also created a new modern UI for the application that is in sync with the existing best practices.  

The project is currently still ongoing. Our project team is getting ready to perform the migration of major volumes of data from the client’s legacy app. 

Front-end
  • React.js Front-endReact.js
Infrastructure
  • AWS InfrastructureAWS
  • GitHub InfrastructureGitHub
  • Auth0 InfrastructureAuth0
  • Terraform InfrastructureTerraform
Back-end
  • Java Back-endJava

Our results

SPD Technology has successfully delivered an entirely new app the client needed to continue growth and achieve business goals.

  1. Created a User Base Growth Opportunity: Provided enough storage space for new clients’ onboarding by taking the solution to the Cloud.
  2. Improved Customer Satisfaction:
    Introduced new features and significantly expanded and enhanced the functionality of the system, making it more convenient for the end-user.
  3. Higher Level of Security:
    Introduced the DB multi-tenancy and the Cloud disaster recovery option, which dramatically improved the security level of the solution compared to the legacy app.
  4. 10x Reduction of File-Downloading Time: 
    Reduced the file-downloading time in the S 3 Cloud by a factor of 10, from around 20 to less than 2 minutes. 
Next Project
Delivering an AI-Powered Phone Call Assistant for a Global Leader in Recruitment and Background Screening

Highlights Client The client is a tech-driven recruitment agency, working with leading companies from different industries. Thanks to implementing...

Explore Case