Case Studies Blog Careers Technologies
Customer 360 for Indian Private Sector bank
Node.js, Python, Angular, Postgre SQL, AWS
About Client

One of the largest private sector banks in India with over 8 million customers.

Problem Statement

It is more important than ever for a bank to maintain a relationship with its current and potential customers. Hence it becomes important for the bank to obtain a comprehensive view of customers by leveraging data from various touchpoints in a customer’s journey.

Banks need to establish customer-facing teams and start tracking structured and unstructured data for capturing, analyzing, and responding to the generated insights.

Relationship managers need such a Customer 360 platform to track their portfolio, account balance trends, find every transactional activity of their customer’s account in a few clicks and update data about recent conversations, etc. in order to maintain a good relationship with the customer.

By collecting various pieces of the customer journey, a business can start to get a clearer picture of how customers may act and relationship managers can take action accordingly.

Oneture's Role

Oneture being a select consulting partner of the bank, saw a huge opportunity in the relationship management dashboard space and proposed the bank with a complete solution for the use case.

By getting complete requirements from the upper management and actual users – the relationship managers, we framed the scope of this Customer 360 platform and proposed a solution that would solve the problem statement of the bank in the most efficient way.

We solved the most challenging technical problems of building the platform, which included super fast data processing and developing a highly optimised web application for graphical visualization and tabulated data retrieval in the minimum possible time.

We also participated in the architectural decisions, the UI/UX design, the infrastructure setup and the deployment of the application over the bank’s private cloud too.


Ensuring complete security of the application

  • We developed multiple layers of security in this application, starting with the code itself. No API returns a response to any request, if not called with a valid authentication token.
  • The authentication token gets generated by the application after successful login, validated by the bank’s LDAP system. The returned token needs to be passed as the header for every API call to work.
  • We also handled a variety of edge cases in the frontend to ensure that the user is logged in with a valid session to receive any information from the backend, making the application fully secure.

Having latest data available to the platform for a real-time experience

  • The bank has a centralized data warehouse containing each and every captured data point, populated on a daily basis. We use this warehouse for populating our application’s database tables.
  • With the help of special queries and ETL mechanisms, the platform’s information is updated at a certain time everyday from the central warehouse itself, ensuring availability of T minus 1 dated data at any given day.
  • The data retrieval at real time includes all the latest information, including account transactions, trends and metadata or personal information for any customer.

Displaying interactive charts with useful information

  • The charts used for data visualization of balances, trends, behaviour and other metrics needed to be highly usable for every audience.
  • Showing bar charts, lines, etc. based on the database records was a challenge that Oneture solved with bank by using a standard chart library and integrating all the required features into it.
  • The data rows received from the database get modified in the frontend to a format which can be understood by the chart library to ensure proper visualization along with colors, plot lines and multi-line etc. features available to the platform.



  • The Node Server is used as a Web Server that also acts as a proxy to the backend Django server. Node server forwards all the REST API requests received over port 443 from the Angular UI to the Django server and back to UI.
  • The backend runs over Django server for Django REST framework to handle API calls and connect with other services like the on-premises LDAP authentication and Redis cache management.
  • The Redis cache is an in-memory database, responsible for storing recently fetched results for queries fired on the database, so that repeated API requests can return results much faster, without putting load on the actual master database every time. It follows the typical cache hit or miss algorithm developed in Python.
  • We also store session information under an encrypted JWT authentication token after a successful login in the redis cache, to authorize subsequent requests from the user. Logging of the platform and user interaction happens at the API level, inside the Django services for each API call.
  • The PostgreSQL Database is hosted on a managed RDS Service. It contains the database and tables for the entire platform. All the API queries are fired on this platform. The RDS can also have a read replica in order to distribute the read-queries load on the platform. AWS supports multiple read-replicas to be created on the platform.
Value Delivered

The relationship managers now have the ability to quickly access any piece of customer and account information within a couple of clicks.

With the help of this platform, real time processing of data of 8 million customers for visualizing trends and getting actionable steps became possible, which could have earlier taken multiple tools to achieve and wasted a lot of time.

With the help of this platform, the business could get deep and granular insights into customer preferences and behaviors, which the bank can use to interact with customers and deliver the services and experiences consumers expect.

Technology domain Tools
Front End HTML, CSS, JavaScript, Angular and NodeJS
Back End Python, Django with REST API, Redis
Database PostgreSQL
Cloud AWS EC2 and RDS
Lessons Learned

Always consider scalability while building high priority cloud applications

As the business starts using the platform more, scaling up of the cloud resources becomes essential. This is one of the key benefits of using cloud based infrastructure and AWS provides a range of services for auto-scaling and minimal human interaction in managing varying load on the cloud based services.

Build for modularity and compatibility

There are new features being added to the Customer 360 on a monthly basis. Hence building the application as a collection of modules becomes very important. Also, the API’s can be used for data retrieval by another application too.

Think of security and privacy from the start

Our application is developed keeping data security and user privacy in mind from the start, hence it is completely compliant with all the security policies of the bank.

Capture user behavior for analytics

It is important to ensure proper API logging and UI interaction logging to analyze and understand the key metrics of the running platform. Integration with services like Google Analytics provides a powerful way to capture events like page visits, button clicks, etc. to find out information about the most used features of the platform.