panic icon indicating copy to clipboard operation
panic copied to clipboard

Investigation - Back-end Architecture

Open zimaah opened this issue 3 years ago • 1 comments

While discussing the implementation of https://github.com/SimplyVC/panic/issues/41 with @simplyrider some questions about the approach to implement the API endpoint were asked, since @simplyrider POC for handling configuration uses https://flask.palletsprojects.com/. @simplyrider suggested that maybe we could move from our current API (api service, which is based on NodeJS) to Flask (since it's Python based). The reasoning is to have the back-end full Python.

If we keep the current state (part of PANIC in Python + API service in NodeJS) it will facilitate our next steps for improving the UI/API communication (meaning, we can easily create a "types" project, something like @simply-vc/types) and standerdize the data between UI/API. On the other hand, if we go full Python we will be more python focused (reducing the tech stack), but standardizing types between the API (Python) and the UI (TS) will require more effort, either by managing it separately (types in Python and types in TS, two diff logic to maintain) or by adding a solution on top of both technologies (a "types manager" tool which would handle the types generation for TS and Python).

The idea is to investigate this further and come up with a list of pros/cons of both approaches and then discuss with the team the best way of moving forward.

zimaah avatar Feb 03 '22 10:02 zimaah