Pioneer in Offering CRM Solutions since 2010...

Need Help?
project-overview-vector

Project Overview

The e-commerce portal will offer different membership plans based on website and API access, while also providing users with various coupons and discounts based on region and a usability matrix. To enhance user experience, the platform will be multilingual and support multiple currencies, automatically detecting the user's preferred language and local currency.


By creating a secure and scalable e-commerce platform, the client will be able to effectively sell their membership plans and provide a seamless experience for users in different regions.

challenge-vector

Challenges

As the client is the largest online digital document signing portal, it has unique challenges of its own.

  • Client wants its own proprietary NoSQL database for data privacy and security.
  • The Ecommerce application must be scalable to manage existing millions of concurrent users.
  • Implementation of unique fraud detection algorithm.
  • Event based workflow to manage discounts and coupons.
  • Extensive & interactive reporting engine for usability, incident and availability tracking.
  • The Ecommerce application must support Globalization & Localization.
  • The Ecommece application should support various limitations & functionalities based on region (Continent or Country)
solution-vector

Solution

We implemented repository pattern architecture in .NET Core along with GraphQL as query language for APIs. For the front-end we used React.js. We used the following components to achieve the client's requirement.

  • .NET Core Token-Based Authentication with JWT : The implementation of token-based authentication using JSON Web Tokens (JWT) adds an extra layer of security to the system. By passing the token in a cookie instead of the header, it makes it harder for unauthorized users to copy or manipulate the token, enhancing the security of user sessions.
  • .Net Core API Throttling and Request Limiting : The inclusion of API throttling and request limiting based on custom rulesets allows for better control and security. Different countries may have specific limitations, and users' plans can also affect the rate at which requests are allowed. This feature helps prevent brute force attacks and improves overall security by limiting excessive requests.
  • .Net Core GraphQL Integration : Instead of traditional RESTful APIs, the implementation of GraphQL as a query language for the API offers advantages such as resolving over-fetching and under-fetching of data. GraphQL allows clients to specify the exact data they need, reducing unnecessary data transfers and improving overall productivity and performance.
  • .Net Core & Redis Caching : As the ECommerce application is hosted on multiple servers, we decided to use Redis distributed cache. The Caching has reduced database calls and significantly improves performance.
  • .NET Core Logging with Azure Monitor and Kusto Query Language : Azure Monitor is utilized for logging purposes. We used Kusto Query Language (KQL) to fetch specific types of logs, facilitating tasks such as fraud detection (e.g., identifying unauthorized use of coupon codes for a 100% discount). Created Grafana dashboard by using KQL query. Provided a dashboard to Analyze error rates and trigger events such as sending emails, SMS notifications, or PagerDuty alerts are achieved through these logging capabilities.
  • .NET Core New Relic Integration : New Relic's SDK is implemented into the application to monitor application and system health. It allows tracking key metrics like CPU utilization and raises alerts if certain thresholds are exceeded. Monitoring application health with New Relic helps identify potential issues and ensures proactive management of system performance.
  • .NET Core Telemetry logging :Added specific telemetry logging into the application which helps to provide more insights of our specific feature or entire application. We used Microsoft Insights for telemetry logging.
  • .NET Core Hosted Services & Background Jobs : The tasks which do not require user input or interaction are managed using .NET Core hosted services or background jobs. Fraud detection, Sending emails and text notifications, Data Validations & Migration are few tasks which will be managed by .Net Core hosted services or background jobs.
  • .NET Core & Feature Flags Approach : Every new feature is managed by a specific flag. .NET core developers followed the practice to verify the feature flag at all places during development. The Feature flag approach helped us to enable-disable any functionality without redeployment.
  • .NET Core Unit Testing and Code Coverage : We made sure that Unit Test classes are added for each functionalities. We follow 80% code coverage rules to make sure code works in various scenarios.
  • GIT & GITHub Actions : Sprint based development with each sprint having a new branch. Created various GITHub actions to perform unit tests, code coverage, database scripts and sanity checks
  • .NET Core & Jenkins CI / CD : Implemented CI / CD using Jenkins to deploy code base to multiple servers. As a part of the process it runs the unit tests if it passes, it generates the build image and runs on all production servers.
  • Load Balancing : Load balancing is implemented on each environment, distributing incoming traffic among multiple servers. Different load balancing methodologies such as Source IP Hash and Resource-Based (SDN Adaptive) load balancing are employed to optimize the distribution of traffic based on various factors.
  • .NET Core integration with Optimizely (A / B Testing) : We used Optimizely to implement A/B testing. Every new feature introduced will be rolled out to a certain percentage of the user base. When work fine gradually increased to 100 percent or rollback if required.

Backend Architecture Diagram

diagram-img

Technology we used

The goal is to develop a customized shopping cart for a unique industry. Readymade eCommerce platforms like nopCommerce, Magento, Square are very generic while the client wants a tailor made shopping cart. Variance Infotech decided to go with .NET Core, No SQL database, GraphQL API, API throttling and WAF.

image
image
image
image
image
image
image
image
image
image
image
image
image
image
image
image
image
image
image

Related Pages

  • .NET Framework to .NET 6 Migration - FinTech Product

  • Migrate Legacy / Desktop application to .NET 7 - Legal Agency

  • Microsoft Dotnet Development Portfolio

Frequently Asked Questions

  • Can I use .NET Core for building a scalable eCommerce application?

    Yes, .NET Core is well-suited for building scalable applications. It supports microservices architecture and containerization with Docker, and can be easily deployed to cloud platforms like Azure, AWS, or Google Cloud.

  • Is it possible to integrate third-party payment gateways with a .NET Core eCommerce application?

    Yes, .NET Core allows seamless integration with various payment gateways. You can use libraries or SDKs provided by the payment gateway providers or build custom solutions depending on your specific requirements.

  • How quickly can I expect pages to load on an eCommerce site developed with .NET Core?

    .NET Core's performance optimizations contribute to faster page loading times. This means you can browse products, view details, and complete transactions with minimal waiting, creating a more enjoyable shopping experience.

  • How quickly can the eCommerce site adapt to changes and improvements?

    .NET Core's flexibility allows for quick updates and improvements. This ensures that the eCommerce site can adapt to changing customer needs, providing an up-to-date and innovative shopping experience.

  • Can I implement real-time features like chat or notifications in my .NET Core eCommerce application?

    Yes, .NET Core supports real-time features through SignalR. You can implement features like chat, notifications, and live updates by integrating SignalR into your eCommerce application.

  • Can I expect personalised recommendations on a .NET Core eCommerce platform?

    Yes, .NET Core supports the implementation of personalised recommendation engines. You may receive tailored product suggestions based on your preferences and purchase history, enhancing your overall shopping experience.

Trusted Customers

Contact Us About

By sending this form I confirm that I have read and accept Variance Infotech Privacy Policy

What happens next?

  • Our sales manager reaches out to you within a few days after analyzing your business requirements.
  • Meanwhile, we sign an NDA to ensure the highest level of privacy.
  • Our pre-sale manager presents project estimates and an approximate timeline.

We use cookies to provide better experience on our website. By continuing to use our site, you accept our Cookies and Privacy Policy.

Accept