first commit
This commit is contained in:
commit
3918aa2e2b
54
README.md
Normal file
54
README.md
Normal file
@ -0,0 +1,54 @@
|
||||
# Тестовое задание по Node.js + Express.js
|
||||
|
||||
1. Написать API для приёма контактных данных клиентов, с возможностью:
|
||||
|
||||
1.1 Добавлять данные в базу данных массивом, например:
|
||||
**POST /contacts**
|
||||
|
||||
```javascript
|
||||
{
|
||||
source_id: 1,
|
||||
items: [
|
||||
{
|
||||
"name": "Анна",
|
||||
"phone": 9001234453,
|
||||
"email": "mail1@gmail.com"
|
||||
},
|
||||
{
|
||||
"name": "Иван",
|
||||
"phone": "+79001234123",
|
||||
"email": "mail2@gmail.com"
|
||||
}
|
||||
]
|
||||
}
|
||||
```
|
||||
|
||||
- **`source_id`** - id источника контактов, для примера достаточно 1 и 2
|
||||
- **`phone`** - в БД сохраняем в формате без +7 (10 цифр)
|
||||
- **`phone`** - не уникально, но может добавляться максимум 1 раз в сутки для каждого **`source_id`**
|
||||
|
||||
В ответе возвращаем количество добавленных контактов.
|
||||
|
||||
1.2 Находить данные по номеру телефона, например:
|
||||
**GET /contacts?phone=9001234453**
|
||||
|
||||
В ответе - массив с найденными данными.
|
||||
|
||||
1.3 Выводить все контакты, например:
|
||||
**GET /contacts**
|
||||
|
||||
В ответе - массив с найденными данными.
|
||||
|
||||
1.4 Удалять контакт, например:
|
||||
**DELETE /contacts?phone=9001234453**
|
||||
|
||||
В ответе - удаленный контакт.
|
||||
|
||||
2. Оптимизировать скорость добавления и поиска, т.к. контактов будет много
|
||||
|
||||
3. По желанию. Сделать простой интерфейс, например на Bootstrap. Можно использовать шаблонизатор (EJS, HBS).
|
||||
|
||||
При выполнении можно использовать фреймворк Express (или Adonis).
|
||||
В качестве БД предпочтительно использование SQLite.
|
||||
|
||||
#### Результат - исходный код на Github.
|
Loading…
Reference in New Issue
Block a user