Webapp for frame section design

This was a side project during my PhD.

The frontend is written in HTML5 and javascript, using Bootstrap, raw scripting of the HTML5 canvas element for the live sketch of the frame section, the library jsxgraph for plotting, and Webpack for packaging.

The backend runs Uvicorn on top of a Gunicorn server. It exposes a REST API by means of a FASTapi Python app that relies for the calculation on a Cython module that wraps a C++11 library. The latter takes care of 2D computational geometry calculations on sets of polygons, disks and straight lines.

The testing of the backend is carried out with Pytest on the python side and with Catch on the C++ side. The python part of the application is pip-installable using distutils, and the build system of the C++ part is Scons. The deployment is carried out with multi-stage Docker containers on Heroku.