---
tags: Функциональные части
---
# Backend
Часть, которая должна отвечать за проверку задач, а также возможно за манипуляции внутри папок пользователей (создание папок курсов, задач). Должна быть асинхронной и обрабатываться в какой-то **[Очереди](/W3hmwEX5QIq3SJXlWB5nkA)**. Делать проверку задач на запрос нельзя, потому что это может быть долго.
В этот сценарий хорошо ложится [Celery](https://github.com/celery/celery) – распределенная очередь задач.
**Backend** будет доставать информацию об учениках/задачах из **[Database](/ZwJ50RnETqGDwTS81UFhVw)** и понимать, где должен лежать исходник для решения конкретной задачи, конкретным пользователем. В **[Database](/ZwJ50RnETqGDwTS81UFhVw)** так же будут лежать [результаты проверки](/ZwJ50RnETqGDwTS81UFhVw#Результат-проверки-задачи), которые будут обновляться на момент завершения проверки.
:warning: Можно объединить с **[API](/puevSQbdTe-guzWXpIslXg)**