Skip to main content

Introduction

Ergodotisi is a web application to be built for all devices supporting modern browsers. The backend system built for this web application will also act as the backend system for the upcoming mobile application.

Project Architecture

The Ergodotisi platform will be built on the following tech stack:

Backend Functionality

All backend functionality will be added in the form of custom modules only, with the following rules:

  • Related modules will be grouped into parent modules.
  • All modules will include any entity creation and configuration necessary for their function in the form of YAML files as well as default data to populate anything vital.
  • All modules will include the test functions which will run during the CI/CD processes set up on TeamCity.
  • Uninstalling a module should remove all functionality related to that module and should not leave any connected functionality from other modules broken. - Therefore modularity and independence even when there is a relationship between modules is crucial.
  • Each module should have its own git repository grouped under the Ergodotisi project and should be added as a git submodule inside the codebase.