1.3 KiB
Overall Architecture
Description
ReCodEx is designed to be very modular and configurable. One such configuration is sketched in the following picture. There are two separate frontend instances with distinct databases sharing common backend part. This configuration may be suitable for MFF UK -- basic programming course and KSP competition. Note, that connections between components are not fully accurate.
Web app is main part of whole project from user point of view. It provides nice user interface and it is the only part, that interacts with outside world directly. Web API contains almost all logic of the app including user management and authentication, storing and versioning files (with help of File server), counting and assigning points to users etc. Advanced users may connect to the API directly or may create custom frontends. Broker is essential part of whole architecture. It maintains list of available Workers, receives submissions from the Web API and routes them further and reports progress of evaluations back to the Web app. Worker securely runs each received job and evaluate its results. Monitor resends evaluation progress messages to the Web app in order to be presented to users.