mirror of
https://gitlab.com/megazordpobeda/DataRush.git
synced 2026-05-22 22:07:10 +00:00
add basic readme and add new data to get complation results endpoint
This commit is contained in:
@@ -1 +1,33 @@
|
|||||||
# DataRush
|
# DataRush
|
||||||
|
|
||||||
|
Инновационный сервис для проведения соревнований по анализу данных
|
||||||
|
|
||||||
|
|
||||||
|
## Запуск
|
||||||
|
|
||||||
|
Склонируйте репозиторий и пропишите
|
||||||
|
|
||||||
|
```bash
|
||||||
|
docker compose up
|
||||||
|
```
|
||||||
|
|
||||||
|
## Основные ручки
|
||||||
|
|
||||||
|
* `/` - основное приложение
|
||||||
|
* `/api/v1/docs` - swagger-ui документация
|
||||||
|
* `/admin` - админка
|
||||||
|
* `/admin/grafana` - графана
|
||||||
|
* `/docs` - гайд по анализу данных
|
||||||
|
|
||||||
|
После запуска по методу выше создается пользователь в админке (`/admin`) с данными ниже:`admin`
|
||||||
|
- `admin` - логин
|
||||||
|
- `proooooood` - пароль
|
||||||
|
|
||||||
|
|
||||||
|
## Тесты
|
||||||
|
|
||||||
|
Написаны unit-тесты (на базе Django TestCase) и E2E (Postman коллекция)
|
||||||
|
|
||||||
|

|
||||||
|
|
||||||
|
![django test]()
|
||||||
|
|||||||
Binary file not shown.
|
After Width: | Height: | Size: 261 KiB |
@@ -67,3 +67,4 @@ class TaskAttachmentSchema(ModelSchema):
|
|||||||
class TaskStatusSchema(Schema):
|
class TaskStatusSchema(Schema):
|
||||||
task_name: str
|
task_name: str
|
||||||
result: int
|
result: int
|
||||||
|
max_points: int
|
||||||
|
|||||||
@@ -196,14 +196,21 @@ def get_competition_results(request, competition_id: UUID):
|
|||||||
for task in tasks:
|
for task in tasks:
|
||||||
submissions = CompetitionTaskSubmission.objects.filter(
|
submissions = CompetitionTaskSubmission.objects.filter(
|
||||||
user=request.auth, task=task
|
user=request.auth, task=task
|
||||||
).filter(status="checked").all()
|
).filter(status="checked").order_by("-earned_points").all()
|
||||||
if not submissions:
|
if not submissions:
|
||||||
result = 0
|
all_submissions_count = CompetitionTaskSubmission.objects.filter(
|
||||||
|
user=request.auth, task=task
|
||||||
|
).count()
|
||||||
|
if all_submissions_count == 0:
|
||||||
|
result = -2
|
||||||
|
else:
|
||||||
|
result = -1
|
||||||
else:
|
else:
|
||||||
result = submissions[0].earned_points
|
result = submissions[0].earned_points
|
||||||
data.append(TaskStatusSchema(
|
data.append(TaskStatusSchema(
|
||||||
task_name=task.title,
|
task_name=task.title,
|
||||||
result=result
|
result=result,
|
||||||
|
max_points=task.points,
|
||||||
))
|
))
|
||||||
|
|
||||||
return status.OK, data
|
return status.OK, data
|
||||||
|
|||||||
Reference in New Issue
Block a user