Backend for Personal Digital Assistant Bob 2.0 based on Microservices and Docker.
The backend is structured with a microservice architecture. Currently, each folder controller, entertainment, finances, journey and welcome contains the code for one USECASE docker container and therefore has an own dockerfile. The general structure is seen below.
Currently, each usecase consists of a flask application, which is a microframework for writing RESTful Apis in Python. The folder src contains the source code of the application. The app.py file is the entrypoint for the flask application. The files in the folder tests are evaluated using pytest. Their filename should start with test_.
When code is pushed into a USECASE folder, all unittests in the tests folder are automatically run using github actions. When all tests pass, the docker container is automatically built using the dockerfile and pushed to it´s respective docker hub repository. These repositories are public.
If anyone would like to use a different framework, programming languages or else he can just adjust the Dockerfiles and github actions.yml.