Перед тем как пытаться запустить все это дело, нужно скачать docker compose. Самый простой способ это сделать - ввести в консоль docker pull docker/compose
Рекомендую отдельно скачать необходимые образы:
docker pull redis
docker pull mongo
docker pull postgres
docker pull neo4j
docker pull elasticsearch:8.4.3
- Перейти в корневую папку проекта через консоль
- Ввести
docker-compose up --build -d
Флаг --build пересобирает изменившиеся проекты с Dockerfile
- Создать Dockerfile в папке с сервисом
- В
docker-compose.yamlв разделеservicesвписать имя сервиса и указать через параметрbuildпуть к Dockerfile'у. (Как пример смотретьpostgres-ma)
Функционал: предоставляет информацию о студентах по id
Api доступно по адресу redis-ma:22808/api/students.
Список параметров: /api/students/students=<id1>... ,<id2>
Возвращаемый формат:
[
{
"id": string,
"name": string,
"surname": string,
"group_fk": string
},
...
]Пример: http://redis-ma:22808/api/students?students=19ПЫ8781,19ЧТ8208, http://redis-ma:22808/api/students?students=19ПЫ8781
postgres-ma:22808/api/students
Функционал: предоставляет информацию о всех студентах Параметры не нужны
Возвращаемый формат:
[
{
"id": string,
"name": string,
"surname": string,
"group_fk": string
},
...
]Пример: http://postgres-ma:22808/api/students
postgres-ma:22808/api/groups
Функционал: предоставляет информацию о всех студентах
Параметры не нужны
Возвращаемый формат:
[
{
"id": string,
"speciality_fk": string
},
...
]Пример: http://postgres-ma:22808/api/groups
postgres-ma:22808/api/students?lessons=<id>... ,<id>from=<date>&until=<date>
Функционал: Выдает 10 худших студентов по посещаемости предметов за период
Параметры: id - int, date - "%d-%m-%Y"
Возвращаемый формат:
[
{
"id" : string,
"visit_percent": float
},
...
]Пример: http://postgres-ma:22808/api/students?lessons=2,3,4&from=02-04-2019&until=04-09-2019
-
postgres-ma:22808/api/lessons
Функционал: предоставляет информацию о всех предметах
Параметры не нужны
Пример:http://postgres-ma:22808/api/lessons -
postgres-ma:22808/api/courses
Функционал: предоставляет информацию на каких курсах учится группа
Параметры не нужны
Возвращаемый формат:
[
{
"group" : string,
"courses": [string, string...]
},
...
]Пример: http://postgres-ma:22808/api/courses
-
mongo-ma:22808/api/all
Параметры не нужны
Функционал: выдает всю базу университетов
Пример:http://mongo-ma:22808/api/all -
mongo-ma:22808/api/courses
Параметры не нужны
Функционал: выдает все курсы и принадлежащие кафедры с университетами
Возвращаемый формат:
[
{
"name": string, #<название университета>
"department": [
{
"name": string, #<название кафедры>
"courses": [
{"name": string},
{"name": string},
...
],
}
]
},
...
]Пример: http://mongo-ma:22808/api/courses
mongo-ma:22808/api/specialities
Параметры не нужны
Функционал: выдает все специальности и принадлежащие кафедры с университетами
Возвращаемый формат:
[
{
"name": string, #<название университета>
"department": [
{
"name": string, #<название кафедры>
"specs": [
{"name": string},
{"name": string},
...
],
}
]
},
...
]Пример: http://mongo-ma:22808/api/specialities
elastic-ma:22808/api/lessons
Параметры не нужны
Функционал: возвращает все предметы, что есть в базе
Возвращаемый формат:
[
{
"name": string,
"equipment": string,
"materials": string,
}
...
]Пример: http://elastic-ma:22808/api/lessons
elastic-ma:22808/api/lessons?find=<phrase>
Параметры: phrase - string
Функционал: Выполняет поиск упоминания в имени, материалах, принадлежностях по фразе или слову и возвращает предметы, которые подходят под описание
Возвращаемый формат:
[
{
"name": string,
"equipment": string,
"materials": string,
}
...
]Пример: http://elastic-ma:22808/api/lessons?find=Мгер+мгер