WHISE CRM - software development based on dedicated team model

  • flexible solution - easy to adapt to different markets (countries)
  • migration from on-premise to cloud
  • mobile-first CRM app with specific features for the real estate industry

Technologies

.NET 5 Web API, Nancy FX, MSSQL, Elasticsearch, Memory cache, Redis, RabbitMQ, SignalR, Quartz.NET, Azure DevOps, Docker, Kubernetes, ReactJS

Our longest-standing partnership (since 2004) based on dedicated team model:

Ongoing development project for providing flexible and modern real estate work environment for multiple countries/markets.

THE CONTEXT

Our Client

Our client is a leading software company (started in 2000) with the HQ in Belgium that is focused on providing innovative solutions for real estate companies from several European countries.

Client’s needs & goals

Our client’s core goal is to extend its leading position on other European markets through a flexible and modern solution, able to respond to real estate agents’/companies' specific needs and expectations.

First interaction with Roweb

Our collaboration with this client started in 2004 when we developed the first version of Customer Relationship Management software (WHISE CRM) - making it our longest standing partnership.

THE SOLUTION

WHISE CRM software solution is a mobile-first solution built with real estate users' main commercial and administrative tasks in mind.

This product’s goal is to provide a high-tech, and automated digital experience for buyers, owners, renters, investors, and real estate agents.

Benefits for the end-users:

  • complete mobility - access to WHISE CRM on Android and iOS;
  • dynamic connection between WHISE CRM and the agency's website;
  • option to have a mobile-responsive and SEO-optimised website developed by our team;
  • increased online visibility able to generate more successful transactions;
  • dedicated tools for enabling exclusive representation;
  • constant access to notifications, emails, planning tools and follow-up.

Our client requested constant optimizations to keep the product up-to-date and flexible enough to adapt fast to new market expansion.

Overview of the product's evolution

As an overview of the product's evolution, WHISE CRM has gone through three main stages of development:

Stage #1 - Building and launching the WHISE CRM software

In 2004 we built the company's main product - a Customer Relationship Management software designed for the real estate sector. The software continued to improve through an ongoing development process. Together with the client, we discuss workflows, do the necessary planning, identify ways to improve processes and add valuable features.

Stage #2 - Replacing the desktop solution with a web-based & mobile-first one

The client needed to upgrade the application and have it built mobile-first (for both Android and iOS) in order to be able to access other markets outside of Belgium (e.g., Romania, France). At the same time, they needed to seamlessly migrate approximately 600 Belgian real estate companies in their existing user database into the new application.

Stage #3 - Migrating the solution from on-premise to cloud

Approaching new markets generated a greater need for scalability. And this was possible by migrating the solution from on-premise to cloud (Azure) - a more modern option that allows fast integrations and increased accessibility. Our team played a key role in this migration through consulting sessions and development services.

Project team

All the amazig people that made this project happen

1

Project Manager

4

Front-End

4

Back-End

2

UI/UX Designers

Technology stack for backend (C#)

 

  • API: .NET 5 Web API, Nancy FX
  • Caching: Memory cache, Redis
  • Messaging: RabbitMQ, SignalR
  • Monitoring: Azure DevOps
  • Deployment: Azure DevOps
  • Task/Scheduling: Quartz.NET

Technology stack front-end (Javascript / HTML5):

 

HTML5, TypeScript, KnockoutJS, jQuery, lodash, Moment, FullCalendar, eCharts, Google Places API, Handlebars, Leaflet, PNotify, Select2, SweetAlert, ReactJS, PrimeReact, Ant Design Mobile

Technology stack

Backend

  • 1 internal ASP.NET Web API serving requests for the web application/mobile application
  • 1 public ASP.NET Web API serving requests for external integrators/web designers/media portals
  • 25+ microservices consuming Rabbitmq queues
  • Scheduler running 50+ tasks for data export, data import, cleanup, monitoring
  • MSSQL database backed by Elasticsearch for fast searches/data aggregation
  • Redis as distributed cache between API/microservices
  • SignalR for real-time web notifications
  • Internal administrative/operations Python API for logs/errors monitoring, traffic/costs monitoring, vm health, different other metrics

Frontend

  • Desktop application: HTML5, TypeScript, KnockoutJS, lodash, Moment, FullCalendar, eCharts, Google Places API, Bootstrap Table, Handlebars, Leaflet, PNotify, Select2, SweetAlert
  • Mobile application: ReactJS, React Hooks, React Router, Styled Components, Antd mobile components

Infrastructure stack

  • Iac: Terraform (for infrastructure setup) and Ansible (playbooks for configuration/deployment)
  • 15+ production virtual machines (Linux and Windows Server)
  • Production, Staging and Dev environments
  • Devops environment with hosted build agents for Azure pipelines
  • Azure blobs storage for storing user data and Cloudflare CDN for serving/caching public data
  • Centralized logging in Elasticsearch
  • Filebeat, Metricbeat for collectiong monitoring metrics
  • Kibana Watcher/Azure monitor for alerts based on collected metrics (high cpu, high memory, microservices status, websites/API uptime, rabbitmq queue monitoring, database cpu/iops, gateway capacity units)
  • Azure Application Gateway as web traffic load balancer
  • Nginx as rate limiter/reverse proxy
  • Azure keyvault for secrets management, https certificates storage
  • Azure VPN
  • RabbitMQ as message broker
  • Redis as distributed cache
  • Elasticsearch 3 nodes cluster that serves the searches
  • MSSQL database
  • Docker used by our internal administrative/operations Python API, internal documentation system and other small apis/apps
  • Azure devops: Azure Repos for source control, Azure Boards for issues management, Azure Pipelines for deployment

WHISE CRM modules

For providing a complete digital experience, WHISE CRM solution integrates several modules that address main real estate agents’ needs.

Contacts

Estate list

Email module

Calendar

Tasks

Contacts

The Contacts module offers fast access to multiple information, filtered by relevance and enriched with editing features.

Module’s tabs:

  • Standard list - integrates all the registered contacts and their behavioral and transactional profiles, plus multiple management options (filtering, sorting, adding new) and features (editing, emailing, matching, add to appointment, add to history, etc.);
  • Requests - integrates all the potential clients and their behavioral profiles based on searched criteria (e.g., wants to buy/rent) plus multiple management options (filtering, sorting, adding new) and features (editing, emailing, matching, add to appointment, add to history, etc.);
  • Dashboard - fast activity overview by presenting data under dynamic shapes (tables, charts, etc.) from specific perspectives (Last 24 h activity, New contacts, Contacts Sources, etc.)
  • Company - listing companies and their profiles (ID, VAT, website, recent activities)

Estate list

This module enables real estate agencies to manage all of the properties in their portfolio. The main features in this module are:

  • Property database that allows automatically exporting properties to the agency's website as well as national real estate advertising portals;
  • Complete property history, with every related event, client visit, phone calls, adverts and brochures;
  • Action button for emailing an offer's details to its owner or to a client;
  • Action button for adding events to the calendar;
  • Report for the property’s owner, containing the complete transaction history;
  • Customizable activity plan for each property;
  • Automate/manual searches - offers matching.

Email module

An integrated email client uses an IMAP protocol to record and update the customer information in the WHISE CRM database with any change.

All emails are automatically saved in the client's record thanks to this dynamic connection.

The module allows users to:

  • add calendar events;
  • view conversation histories for each of their contacts;
  • view conversation histories across multiple email threads;
  • filter emails based on various attributes or print them;
  • send one-to-one emails;
  • send mass emails.

Calendar

This module helps users organize better and identify fast daily, weekly and monthly activities.

From this page, they can initiate several actions:

  • overview appointments directly from the calendar;
  • add new appointments (by filling in a form with predefined fields);
  • multiple management options (filtering, sorting, adding new);
  • export data from the calendar (for a specific period of time and filtered by action type);
  • print specific sheet from the calendar;
  • synchronize with Google.

Tasks

Tasks management made-easy from a dynamic dedicated module, accessible from the menu bar.

Specific tabs for listing tasks:

  • today - tasks for the current day with options for leaving comments and attaching documents;
  • inbox - all the tasks listed with options for leaving comments and attaching documents;
  • overdue and next tasks.

Other options: smart views for data by using multiple filters (tags, status, action, properties, contacts, assigned to, created by); multiple management options (search by name/description, create new); fast access to tasks history and filter (recently updated/created, due date ascending/descending).

Project highlights

.
.

BI DASHBOARD

The Business Intelligence dashboard displays:

  • 24-hour overview of the number of contracts imported from web portals, the company's website, automatically matched contracts, manually matched contracts, number of sent emails and number of created documents;
  • New contracts' overview - the total number as well the numbers for various time spans (last week, month or year);
  • Contact sources - to help agencies identify which sales and marketing channels are most effective;
  • Contacts that haven't been treated yet-leads that require the agent's attention.

Need to develop a similar software for your company.

Overcoming client's needs

Providing performant UX design for the CRM solution As a part of our job, one of our key-focus is on keeping users engaged into a custom and intuitive experience through a performant design. We have made sure that the WHISE software solution contains all these elements to simplify access to the various functionalities and encourage users to transfer their main activities into the platform.

Creating a dedicated style guide We created a style guide for our client, to help him build a cohesive brand identity across all channels, from his CRM application and presentation website to brochures and other presentation materials.

Advantages for using a style guide:

  • maintain consistency
  • give concrete examples
  • specific details about target audience
  • streamline processes / communication
  • reliable tool for quality assurance

Roweb proved to be a great partner to work with, providing us with a highly responsive team. During our collaboration, I found it very easy to communicate with them and they were very flexible in meeting our requirements. Because of the project's complexity, new requirements came up quite often and they always managed to find and implement the adequate solution on time. I would have no hesitation in recommending them for complex business development projects.

Jean Waucquez

Owner, WHISE nv