edit readme
This commit is contained in:
parent
edb8978fdc
commit
b53aecd26d
41
README.md
41
README.md
@ -1,6 +1,12 @@
|
|||||||
|
|
||||||
### Тестовое задание
|
### Тестовое задание на вакансию Junior Node.js developer (Effective Mobile)
|
||||||
Репозиторий: `em-shop`
|
|
||||||
|
Ссылка на вакансию: `https://hh.ru/vacancy/110675692`
|
||||||
|
Тестовое задание: `https://docs.google.com/document/d/1FbMiG5rlmhJvfsw5C3bkTUSS9OQK5chpYicQHL8WNjQ/edit?tab=t.0`
|
||||||
|
|
||||||
|
Репозиторий `em-shop`
|
||||||
|
Ссылка на git репозиторий с проектом: `https://git.checkerwars.com/leo/em-shop`
|
||||||
|
|
||||||
|
|
||||||
Исполнитель: `Leonid Ost`
|
Исполнитель: `Leonid Ost`
|
||||||
Email: `4267@mail.ru`
|
Email: `4267@mail.ru`
|
||||||
@ -9,13 +15,18 @@ Site: `checkerwars.com`
|
|||||||
|
|
||||||
Описание всех API находится в файле `API.rest`
|
Описание всех API находится в файле `API.rest`
|
||||||
|
|
||||||
### Stocks
|
Все сервисы находятся в docker контейнерах:
|
||||||
|
Запустить все: `run.all.sh`
|
||||||
|
Остановить все: `stop.all.sh`
|
||||||
|
|
||||||
|
|
||||||
|
### Stocks (Express.js)
|
||||||
Path API `http://localhost/stocks/api/`
|
Path API `http://localhost/stocks/api/`
|
||||||
|
|
||||||
### History
|
### History (Express.js Typescript)
|
||||||
Path API `http://localhost/history/api/`
|
Path API `http://localhost/history/api/`
|
||||||
|
|
||||||
### User Swagger
|
### Users (Nest.js)
|
||||||
Path API `http://localhost/users/api/`
|
Path API `http://localhost/users/api/`
|
||||||
Swagger: `http://localhost/users/api/docs/`
|
Swagger: `http://localhost/users/api/docs/`
|
||||||
|
|
||||||
@ -23,18 +34,18 @@ Swagger: `http://localhost/users/api/docs/`
|
|||||||
|
|
||||||
### Traefik dashboard
|
### Traefik dashboard
|
||||||
Path: `http://localhost/dashboard/`
|
Path: `http://localhost/dashboard/`
|
||||||
User: admin
|
User: `admin`
|
||||||
Password: admin
|
Password: `admin`
|
||||||
|
|
||||||
|
|
||||||
### RabbitMQ dashboard
|
### RabbitMQ dashboard
|
||||||
Path: `http://localhost:15672/`
|
Path: `http://localhost:15672/`
|
||||||
User: rabbit
|
User: `rabbit`
|
||||||
Password: 5jbya3ptfrezyop6gy8w
|
Password: `5jbya3ptfrezyop6gy8w`
|
||||||
|
|
||||||
# PostgreSQL
|
### PostgreSQL
|
||||||
Host: postgres
|
Host: `postgres`
|
||||||
Port: 5432
|
Port: `5432`
|
||||||
User: postgres
|
User: `postgres`
|
||||||
DB: postgres
|
DB: `postgres`
|
||||||
Password: 2wroxrnr8fdxicvw2nsd
|
Password: `2wroxrnr8fdxicvw2nsd`
|
||||||
|
41
Тестовое Node.js.txt
Executable file
41
Тестовое Node.js.txt
Executable file
@ -0,0 +1,41 @@
|
|||||||
|
**Задание 1**
|
||||||
|
|
||||||
|
Нужно реализовать 2 сервиса. Один сервис остатков товаров в магазине. У товара могут быть следующие поля:
|
||||||
|
- PLU - артикул товара
|
||||||
|
- Название товара
|
||||||
|
- Количество товара на полке
|
||||||
|
- Количество товара в заказе
|
||||||
|
- Для какого магазина данных остаток
|
||||||
|
Данные денормализованы, их нужно привести к 2-3 нормальной форме.
|
||||||
|
Должны быть следующие endpoint:
|
||||||
|
- Создание товара
|
||||||
|
- Создание остатка
|
||||||
|
- Увеличение остатка
|
||||||
|
- Уменьшение остатка
|
||||||
|
- Получение остатков по фильтрам
|
||||||
|
- plu
|
||||||
|
- shop_id
|
||||||
|
- количество остатков на полке (с-по)
|
||||||
|
- количество остатков в заказе (с-по)
|
||||||
|
- Получение товаров по фильтрам
|
||||||
|
- name
|
||||||
|
- plu
|
||||||
|
Другой сервис истории действий с товарами.
|
||||||
|
В сервис “истории действий с товарами” нужно отправлять все события, которые происходят с товарами или остатками. Общение сервисов может происходить любым способом. Сервис “истории действий с товарами или остатками” должен иметь endpoint, который отдаст историю действий с фильтрами по:
|
||||||
|
- shop_id
|
||||||
|
- plu
|
||||||
|
- date (с-по)
|
||||||
|
- action
|
||||||
|
и постраничной навигацией. Фреймворк так же может быть любой, но не nest. Один из сервисов должен быть на JS, для второго можно использовать TS. СУБД - postgresql
|
||||||
|
|
||||||
|
|
||||||
|
**Задание 2**
|
||||||
|
|
||||||
|
Нужно написать сервис, который работает с пользователями. В бд может быть более 1 миллиона пользователей (набить данными бд нужно самостоятельно. Например, написать миграцию, которая это сделает). Каждый пользователь имеет поля:
|
||||||
|
- Имя
|
||||||
|
- Фамилия
|
||||||
|
- Возраст
|
||||||
|
- Пол
|
||||||
|
- проблемы: boolean // есть ли проблемы у пользователя
|
||||||
|
Нужно сделать endpoint, который проставить флаг проблемы у пользователей в false и посчитает, сколько пользователей имело true в этом флаге. Этот сервис нужно реализовать на nestjs
|
||||||
|
|
Loading…
Reference in New Issue
Block a user