Case Study — Radial Chart Micro-Service API

Example image from client brief, radial chart

The brief was to provide an API for generating 'radial charts'. Specifically:

  • chart up to 4 values (0-100%) as concentric circles
  • each line can optionally have a label with value, text and an icon
  • optionally a % can be displayed in the centre of the circles
  • circle colours, chart background colour, and icon types all customisable
  • image of the chart generated by POST-ing to an API endpoint
  • each image created is saved "to the cloud" with a unique reference/URL
  • URL for image is included in the POST result
  • (static) image can be accessed/included in a document or website using the URL

Technical Stack

Stack design for chart microservice

The final system design was:

  • API written in Python using FastAPI
  • deployed to Deta Space for both the API/documentation and database

Re-designed LSERSA website homepage
Re-designed LSERSA website local slopes

See the demonstration version of the API.

Benefits

The benefits of this solution are:

  • FastAPI provides a lightweight, high-performance Python-based framework specifically designed for developing and deploying APIs.
  • Deta Spaces selected for deployment, providing a free and simple-to-deploy Python environment with integrated document-based database.
  • Image production within the API is optimised to work with the 'serverless' limitations of Deta.

For more information or to discuss a project, please email [email protected].