add basic readme and add new data to get complation results endpoint

This commit is contained in:
Timur
2025-03-03 19:28:58 +03:00
parent a0d2892fe0
commit 4770af7cc7
4 changed files with 43 additions and 3 deletions
+32
View File
@@ -1 +1,33 @@
# DataRush
Инновационный сервис для проведения соревнований по анализу данных
## Запуск
Склонируйте репозиторий и пропишите
```bash
docker compose up
```
## Основные ручки
* `/` - основное приложение
* `/api/v1/docs` - swagger-ui документация
* `/admin` - админка
* `/admin/grafana` - графана
* `/docs` - гайд по анализу данных
После запуска по методу выше создается пользователь в админке (`/admin`) с данными ниже:`admin`
- `admin` - логин
- `proooooood` - пароль
## Тесты
Написаны unit-тесты (на базе Django TestCase) и E2E (Postman коллекция)
![Postman data](img/postman.gif)
![django test]()
BIN
View File
Binary file not shown.

After

Width:  |  Height:  |  Size: 261 KiB

+1
View File
@@ -67,3 +67,4 @@ class TaskAttachmentSchema(ModelSchema):
class TaskStatusSchema(Schema):
task_name: str
result: int
max_points: int
+10 -3
View File
@@ -196,14 +196,21 @@ def get_competition_results(request, competition_id: UUID):
for task in tasks:
submissions = CompetitionTaskSubmission.objects.filter(
user=request.auth, task=task
).filter(status="checked").all()
).filter(status="checked").order_by("-earned_points").all()
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:
result = submissions[0].earned_points
data.append(TaskStatusSchema(
task_name=task.title,
result=result
result=result,
max_points=task.points,
))
return status.OK, data