This PR mainly refactors the code by extracting a "core" package which
is then used by the "backend" and "frontend" apps.
Apart from this the PR also contains several smaller changes like fixing
dependabot, upgrading dependencies, aligned "package.json" files, added
tests, ...
addresses step 1 of #32closes#136
---------
Co-authored-by: Marco Pasqualetti <marco.pasqualetti@live.com>