This repository provides the layout for a typical Dockerized microservice. Here's what you'll find here, and you can browse the source code online here.
root ├── aws-cors.xml # Policy descriptions for storage ├── aws-s3-policy.json ├── b2-cors.json.json ├── media │ ├── alembic.ini # alembic config settings │ ├── celeryconfig.py # celery-worker parameters │ ├── config.yaml # application settings │ ├── constants.py # global constants │ ├── db_seed.yaml # (opt) initial seed records for db │ ├── main.py # top-level startup │ ├── models │ │ ├── __init__.py # models for database schema │ │ └── media.py # open-core media models │ ├── models # models for database schema │ ├── openapi # OpenAPI 3.0 specifications │ │ ├── api.yaml # top-level API spec │ │ ├── album.schema.yaml # open-core API model schema │ │ ├── album.path.yaml # open-core API routing paths │ │ └── ... # add your custom specs here │ ├── rbac.yaml # endpoint permissions │ ├── _version.py # application version │ └── controllers # controller classes │ ├── __init__.py # controller initialization │ ├── album.py │ ├── auth.py │ ├── file.py │ ├── health.py │ ├── metrics.py │ ├── picture.py │ └── storage.py ├── docs # documentation directory ├── Dockerfile.media # container image builder scripts ├── Dockerfile.media-worker ├── entrypoint-worker.sh # container startup script ├── .github │ └── PULL_REQUEST_TEMPLATE.md # template for code submission ├── .gitlab-ci.yml # CI pipeline definition ├── i18n # application language translations │ ├── messages.pot # extracted language strings │ ├── ar # arabic message mappings │ └── de (...) # german messages (and so on) ├── Makefile # administrative utilities ├── .readthedocs.yml # doc configuration ├── requirements.txt # python dependencies ├── CONTRIBUTING.md ├── LICENSE.txt ├── README.md └── tests ├── conftest.py # pytest settings ├── requirements.txt # python test dependencies ├── test_base.py # base class for writing tests └── test_xxx.py # various tests