Feature image

Streamlining Legal Workflows with Digital Transformation Link to this heading

Year-round project with a client Link to this heading

During the COVID-19 pandemic, the manual workflows of law firms in Sri Lanka faced significant challenges. Recognizing the need for digitalization, a medium-sized legal firm based in Colombo sought to streamline their processes. Over the course of a year, my team and I embarked on a project to create a comprehensive secretarial practice management system tailored to their needs.

Overview Link to this heading

Our approach began with a analysis of the firm’s existing manual workflows. We then conducted a thorough review of available software solutions in the market. Following ethical and legal protocols, including signing NDAs and a MOU we made sure to adopt proper software engineering practices thorughout the project run.

Development Process Link to this heading

We carefully managed the project, conducting regular team and client meetings to ensure alignment and progress. Ethical and legal considerations were crucial, and we followed proper software development good practices throughout the project lifecycle. This included requirement gathering through client meetings,sound architectural decisions, modular work breakdown, and wireframing to visualize our solutions while creating relavant project documentation.

My Technical Contributions Link to this heading

  • Project Initialization: I set up the Spring Boot project with relevant dependancies and implemented version control with GitLab. Maven facilitated package management, while Spring Data JPA, on top of Hibernate was used for persistance. Additionally, I implemented global exception handling and logging using AOP cross-sections.

  • Security Implementation: I integrated Spring Security for authentication and authorization, providing both coarse-grained (using user Roles) and fine-grained access control (with Spring’s Method Security). Also, I integrated Google Sign-in (OIDC) and Google reCAPTCHA Enterprise for enhanced authentication functionalities.

  • Emailing System: Integrated the SendGrid API for authentication-related and regular notification emails. Custom templates and automated emailing functionality were implemented to streamline communication.

  • Document Handling: I facilitated integration with Google Drive API, enabling efficient document management and ensuring seamless access and collaboration.

  • Deployment: Personally handled test deployment on GCP Cloud Run with a Google Cloud SQL database.This involved managing certain authorization related tasks such as handling Service Accounts and working on the Google Cloud CLI.

Other Contributions Link to this heading

Beyond technical implementation, I assumed leadership role within the team (alternating bi-weekly). I also took on the responsibility of training and mentoring my colleagues on the chosen tech stack. Additionally, I actively took lead in client meetings, ensuring their requirements were effectively translated into actionable development tasks.

Final Thoughts Link to this heading

In conclusion, the project was a valuable learning experience that provided practical insights into software development. It exposed me to diverse technologies and emphasized the importance of project management, communication, and adaptability, especially when handling a medium scaled project. It honed my technical, client management, and leadership skills, reaffirming my passion for software development. Looking ahead, I am confident that the lessons learned will guide me in future work, fostering growth, innovation and mature problem solving skills.

Modular Overview

Modular Overview

Relational Schema

Relational Schema

Personal commits (GitLab)

Personal commits (GitLab)