KW
Introduction:
Soft Pyramid collaborated with KW Real Estate to create a comprehensive Customer Relationship Management (CRM) system. The system included several modules that could improve the management of real estate data, enhance customer interactions, and streamline workflows.
Technologies Used:
The CRM system was developed using a microservices architecture with the front end built using React. The system included various technologies, including Laravel, Go, Java, Python, Node, Ruby, and Shell. Each applet was developed as a separate app on both the front end and back end.
Development Process:
The development team strictly followed the best practices for software development. Each commit had its ticket numbers, and each pull request (PR) included the ticket number in the PR title. PRs without ticket numbers were rejected. No code could be deployed to the main branch directly; it had to go through a PR review and approval process before merging into the main branch. The apps were dockerized and run in a containerized environment.
Continuous Integration and Deployment:
Before deployment to any environment, the build had to succeed in the Continuous Integration and Deployment (CI/CD) process; otherwise, the deployment would not be made. Circleci was used for CI/CD automation, and three environments were available: development, QA, and production. Deployments to the development and QA environments were automated, while manual deployments were made to the production environment via Spinnaker. The team had full control over which version was deployed to each environment and could override the default settings as required.
Monitoring and Metrics:
The team integrated Datadog for real-time monitoring and metrics. They could track the app’s performance metrics and identify if any resources were touching their limits and required action. Service Level Objectives (SLOs) were implemented in Datadog, per business requirements.
API Documentation:
The API documentation was done using Swagger and published to Stoplight, making it easily accessible for anyone working on the API integration.
Security:
The team integrated Synk to monitor vulnerabilities in the codebase and packages, so corrective action could be taken in advance.
Infrastructure:
Google Cloud Platform (GCP) was used for the infrastructure, with Kubernetes for deployments. All apps, including front-end and back-end, ran on GCP and could be accessed via the GCP console. The team could access logs, pod information, and container-related information from the dashboard, making troubleshooting easier.
Project Management:
JIRA was used for project management, with two-week sprints created for each story. The project manager and business managers groomed each story with the full team in the standups. The team could ask questions and share story point estimates. Once a task was deployed to QA, the QA team ran both manual and automated tests against it. If approved, the task was ready for production deployment by the sprint’s end, though hotfixes could be deployed at any time.
Conclusion:
Soft Pyramid’s collaboration with KW Real Estate to develop a CRM system yielded excellent results. The system’s microservices architecture, best practices, CI/CD process, monitoring and metrics, security, infrastructure, and project management processes resulted in an efficient, user-friendly CRM system. The system’s success has demonstrated the team’s technical expertise, dedication to quality, and customer satisfaction.