Contact Us
24/7
Python BlogDjango BlogSearch for Kubernetes Big DataSearch for Kubernetes AWS BlogCloud Services

Optimizing a Wholesale Platform for Accelerated Growth

Wholesale Management Platform
<< ALL PROJECTS

Areas of Expertise

Text Link
Performance Optimization

Industries

Others
Text Link

CHALLENGE

A leading wholesale management platform — built on Python and Django — is growing exponentially and needs to be continuously optimized for speed and ease of use. Six Feet Up’s expert developers dove in head-first to help scale and optimize the platform.

Specifically, Six Feet Up worked with the client team to:

  • Understand the company’s complex schema
  • Identify performance problems and implement solutions
  • Optimize the platform’s backend and frontend
  • Develop new and update existing features

Implementation Details

Understanding a Complex Schema

The company’s proprietary platform has a modern and advanced tech stack. The backend of the platform is developed in Python using Django as the framework, and it uses a PostgreSQL database. In front of Django, the platform has a GraphQL server which communicates with Python using gRPC. The GraphQL server uses Apollo. A Kubernetes pipeline, combined with Jenkins, allows developers to merge and release new features into production the same day they are created. Additionally, with a dedicated DevOps team working around the clock to implement Continuous Integration / Continuous Deployment (CI/CD), the company can release new features quickly and frequently — giving the company a leg up against its competition. On the frontend, the company uses React and TypeScript.

While the company’s tech stack is robust, this project is especially complex due to millions of unique data points. The data variables are expressed as a GraphQL schema that resolves to the relational model defined in the Django backend.

With so much data, figuring out how to organize and optimize the platform to accommodate countless variables and support multiple use cases can be complicated.

Identifying Problems and Implementing Solutions

After understanding the company’s complex schema, Six Feet Up developers zeroed in on areas for performance improvement. The developers are now identifing areas of the platform that are under performing and dig deeper to determine what is causing performance problems. Solutions developed from this process will continue to advance the platform to the next level of scalability.

Optimizing the Platform

Six Feet Up is helping the company optimize both the backend and the frontend of the platform by:

  • refactoring the structure and design of the existing codebase so that the code is clearer, easier to use by other developers and speeds up processing time;
  • adding indexes to the correct tables in the database;
  • implementing caching at the correct levels;
  • testing the user experience to ensure the values added by a user produce the correct responses; and
  • sharing insights that will make the frontend more user-friendly.

Developing New and Updating Existing Features

Using customer feedback, the company’s product development team determines which new features should be built and implemented. One Six Feet Up-built feature was estimated to take two months to complete. However, using an out-of-the-box approach, Six Feet Up updated and implemented this feature in less than one week.

Once a new feature has been coded, it is pushed to GitHub and a preview release is created from the branch the developer is working on. In fact, as a result of the company’s advanced tech stack, a new feature can be merged and released immediately into production the same day it is created.

Six Feet Up also works with the company to improve the UI and design of existing features.

Results

Our work is helping the company build and maintain the most competitive platform on the market by optimizing the wholesale platform. In fact, the Six Feet Up team has improved the response time for some actions from four seconds to less than one second.

ARE YOU READY TO START YOUR NEXT PROJECT?

Let's Talk