edit readme

This commit is contained in:
leo 2024-11-20 10:24:16 +05:00
parent edb8978fdc
commit b53aecd26d
2 changed files with 67 additions and 15 deletions

View File

@ -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
View 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