Software Audit of One of the Biggest Libraries in the MENA Region 

Highlights

  • In-Depth Audit of the Software Product: utilized over 15 multifaceted criteria with key areas of focus including System Architecture, Composite Performance Testing, Documentation Quality, etc. to identify security vulnerabilities, optimize performance, and improve stability.
  • Enhancing System Performance: proposed a solution to enhance system performance while simultaneously reducing architectural complexities.
  • Cost-Effective Tech Solution: created recommendations for software development and cost reduction of the entire infrastructure.

Client

The client’s company is as a cultural hub and symbolizes a shift in focus towards people, interactions, and experiences. It serves as a beacon for innovation, offering open spaces and a diverse array of programs and events that encourage the interaction of cultures, ideas, and interests.

Country
Industry
Team Size:

Product

The software product represents a pioneering digital platform that seamlessly integrates a library with a cultural center, positioning itself as a key catalyst in the development of a dynamic cultural quarter in the city. Its digital features go beyond conventional library services, offering a fully-fledged digital library, advanced facility booking systems, a print-on-demand book station, and comprehensive event management tools.

Goals and objectives

  • Conduct a Thorough Systematic Evaluation and Detailed Assessment: Identify existing challenges and inefficiencies within the Library & Community Center software platform.
  • Develop Strategic Recommendations and Enhancements: Optimize the platform’s performance, improve user experience, and ensure alignment with current technological standards and practices. 
  • Improve System Scalability and Security: Recommend how to meet future demands and protect against potential vulnerabilities like data breaches and unauthorized access. 

Project challenge

  1. Limited Grasp of the System’s Architecture and Functionality: because the development process for this system was done by different stakeholders without effective coordination among them.
  2. Poor Coordination Among Developers: this factor resulted in a mix of programming languages and architectural approaches in the system, varying significantly across different subsystems. It is a major blocker for maximizing the system’s performance and realizing the business potential.

Solution

The audit was conducted with a structured approach, focusing on various aspects of the software system. This included an examination of architecture, code quality, performance, security, persistence layer, UI/UX, documentation, and more. Each aspect was evaluated using a combination of tools and alignment with industry standards and best practices.
For static code analysis, SonarQube and FindBugs were utilized to evaluate code quality, detect vulnerabilities, and identify potential bugs. Performance testing was conducted using Gatling to assess the API’s responsiveness and efficiency under load. 

Additionally, Google Lighthouse was employed to analyze and optimize the performance of web pages, focusing on metrics like speed, accessibility, and SEO. This holistic assessment allowed for a detailed understanding of both the codebase’s health and the system’s performance characteristics, guiding targeted improvements.

Below is a container diagram of the Library and Cultural Center platform proposed by our team.

Tech Stack

  • SonarQube SonarQube
  • FindBugs FindBugs
  • Gatling Gatling
  • Google Lighthouse Google Lighthouse

Our results

We have successfully done a comprehensive audit of the complex, heterogeneous software solution.

  1. Identification and Validation of Performance Bottlenecks in the Platform: determined how to eliminate bottlenecks to unlock the true business potential of the entire platform and increase business outcomes dramatically. 
  2. Improvement of RPS (Request Per Second): proposed a solution to improve the RPS (request per second) of the system 10 times, which would lead to significant improvement in user experience and satisfaction. 
  3. Infrastructure Costs Reduction: came up with a solution that would reduce infrastructure costs 3 times, freeing up resources for other business-critical tasks.