Dynamic Workflow Engine
As a Senior Software Engineer at Brain Station 23 PLC, Brain Station 23 PLC is an key vendor for Grameenphone Ltd. I led the development of the Dynamic Workflow Engine (DWE),
The Dynamic Workflow Engine (DWE) is an internal enterprise application developed to digitize approval management and streamline workflow configuration for business operations. Initially built as a monolithic Laravel application, it supports a fully dynamic, configuration-driven architecture, allowing non-technical users to define workflows, forms, and approval rules without code changes. the system is fully dynamic, with its flexibility driven by a robust configuration-based design.
Key Contributions::
- Spearheaded the design and development of a robust job queue system to improve workflow transition efficiency.
- Optimized system performance, addressing scaling issues with the application and reducing operational delays.
- Ensured high availability and reliability for 30k concurrent users, resulting in seamless approval processes and a more responsive user experience.
- Developed an advanced search algorithm incorporating an Elasticsearch, boosting search result relevance by 40%.
- Standardized Docker-based containerization across the development lifecycle, streamlining deployment processes and reducing downtime, resulting in a 25% improvement in release cycles and 15% decrease in server provisioning costs.
- Performed comprehensive code reviews and led weekly coding standards sessions, increasing team code quality by 20%.
- Led the development of architectural blueprints that guided the team in deploying scalable software solutions, reducing implementation errors by 15% and accelerating development by 20%.
Technical Evolution:
Initially, the DWE system was developed using a monolithic architecture. Over two successful years of operation, as user demands and system complexity grew, we recognized the need to scale and modernize. To meet these demands, I led the transition to a microservices architecture, which allowed for greater scalability, modularity, and flexibility. This shift not only improved system performance but also enhanced our ability to rapidly develop, deploy, and maintain new features.
The migration to microservices enabled more dynamic configuration and processing capabilities, which were pivotal in meeting the business's growing needs. The move also improved the agility of the development process, reducing the time-to-market for new features and updates.
Project Technical Details:
- Backend: CakePHP Framework, PHP 7
- Frontend: jQuery, JavaScript, HTML5, Bootstrap 4
- Database: MySQL
- Infrastructure: Nginx, Redis, Docker, Jenkins (CI/CD), Minio (Object Storage)
- Testing/Development Tools: Agile, JIRA, Unit Testing, Git, REST APIs
Microservices Architecture Stack:
- Backend: Laravel (PHP 7),Slim
- Frontend: Vue.js, HTML5, Bootstrap 4,Typescript
- Database: MySQL, MongoBD
- Infrastructure: Nginx, Redis, Docker, Jenkins (CI/CD), Minio (Object Storage)
- Testing/Development Tools: Agile, JIRA, Unit Testing, Git, REST APIs
- Code Quality: SonarQube
- Agile Methodology with JIRA for project tracking, Git for version control
- Service-to-service communication enabled by the API Gateway
The transition to microservices provided the flexibility to optimize each component of the system, ensuring high performance and a responsive user experience. As we continue to innovate and refine the architecture, the DWE remains a cornerstone of Grameenphone’s workflow management, meeting the evolving demands of the business.