Archived
1
0
This repository has been archived on 2022-11-26. You can view files and clone it, but cannot push or open issues or pull requests.
moyklass.com/readme.md
2022-06-03 00:56:12 +03:00

38 lines
3.1 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

## Тестовое задание на разработку отчета по занятиям для moyklass.com
Полные условия задания можно посмотреть в файле [Тестовое задание бекенд.pdf](https://github.com/FutureXpo/moyklass.com/blob/main/%D0%A2%D0%B5%D1%81%D1%82%D0%BE%D0%B2%D0%BE%D0%B5%20%D0%B7%D0%B0%D0%B4%D0%B0%D0%BD%D0%B8%D0%B5%20%D0%B1%D0%B5%D0%BA%D0%B5%D0%BD%D0%B4.pdf)
## Установка и запуск
* Установить модули при помощи `npm install` или `yarn install`
* Запустить с помощью `npm start`
* Запросы отправолять на `localhost:8080`
* `localhost:8080/` (GET)
* `localhost:8080/lessons` (POST)
## Список запросов
#### / (GET) Все параметры не обязательные
* date. Либо одна дата в формате YYYY-MM-DD, либо две в таком же формате через запятую (например, «2019-01-01,2019-09-01». Если указана одна дата, выбираются занятия на эту дату. Если указаны 2 даты, то выбираются занятия за период, включая указанные даты.
* status. Статус занятия. принимается либо 0 (не проведено), либо 1 (проведено)
* teacherIds. id учителей через запятую. Выбираются все занятия, которые ведет хотя бы один из указанных учителей.
* studentsCount. количество записанных на занятия учеников. либо одно число (тогда выбирается занятие с точным числом записанных), либо 2 числа через запятую, тогда они рассматриваются как диапазон и выбираются занятия с количеством записанных, попадающих в диапазон включительно.
* page. Номер возвращаемой страницы. первая страница - 1.
* lessonsPerPage. Количество занятий на странице. По-умолчанию - 5 занятий.
> [Пример запроса](http://localhost:8080?date=2019-01-01,2019-09-01&status=1&teacherIds=1,2&studentsCount=1,4&page=1&lessonsPerPage=10)
#### /lessons (POST)
```js
{
teacherIds: [1,2], // id учителей, ведущих занятия
title: Blue Ocean, // Тема занятия. Одинаковая на все создаваемые занятия
days: [0,1,3,6], // Дни недели, по которым нужно создать занятия, где 0 - это воскресенье
firstDate: 2019-09-10, // Первая дата, от которой нужно создавать занятия
lessonsCount: 9, // Количество занятий для создания
lastDate: 2019-12-31, // Последняя дата, до которой нужно создавать занятия.
}
```