# Неделя #2 Домашняя работа №3-4
# Подготовка к выполнению задания
Изучить все материалы второй недели курса в Личном кабинете
# Что нужно сделать?
# Выполнить домашнюю работу №3-4 (Домашняя работа №3 - реализовать серверную часть на Express.js. Бонусная домашняя работа №4 - реализовать серверную часть на Koa.js)
В проекте есть следующие скрипты:
Запуск приложения в режиме production
npm startЗапуск приложения в режиме разработки
npm run start:devВыполнить форматирование кода
npm run prettierВыполнить проверку кода с помощью Eslint
npm run lintВыполнить проверку кода с помощью Eslint и автоисправлением ошибок
npm run lint:fix
Для запуска:
git clone git clone https://bitbucket.org/krabaton/nodejs-hw34.gitnpm i (yarn)npm start
Макет для домашних работ №3-№4 можно скачать по ссылке
# Проект состоит из трех маршрутов
/ - основной лендинг
/login - форма входа в админ панель
/admin - админ панель
Необходимо реализовать
# На главной странице
POST запрос URL: / Отправляет на сервер поля
{
email,
password
}
- Отправить письмо от пользователя.
- Также на главной странице изменить вывод скиллов и товаров, в соответствующих блоках, из базы данных. То есть если добавлен товар он должен появиться в выдаче на главной странице. Если в административной панели изменили значения скиллов они должны измениться и на главной странице.
# На странице login
POST запрос URL: /login Отправляет на сервер поля
{
email,
password
}
Это форма входа в админ панель. Если email и пароль совпадают с сохраненным, то пропускаем на страницу admin, иначе не пускаем с сообщением почему.
# На странице admin
POST запрос URL: /admin/upload
Отправляется FormData объект на сервер с картинкой товара и описанием. Сохраняем картинку товара и его описание в базе данных
в поле photo - Картинка товара
в поле name - Название товара
в поле price - Цена товара
POST запрос URL = /admin/skills
Отправляется объект с полями на сервер со значением скиллов. Скиллы обновляют свои значения в базе данных
{
age - 'Возраст начала занятий на скрипке'
concerts - 'Концертов отыграл'
cities - 'Максимальное число городов в туре'
years - 'Лет на сцене в качестве скрипача'
}
Домашняя работа №3 - реализовать серверную часть на Express.js
Бонусная домашняя работа №4 - реализовать серверную часть на Koa.js
В качестве базы данных данные хранить на сервере в JSON файле, можно использовать пакет nconf или LowDB на свое усмотрение
Примечание
- JS не используется для отправки форм, все выполняется нативно браузером. По желанию можно самостоятельно написать клиентский код
- Для ответов с сервера есть поле .status в каждой форме. Чтобы туда отправлять ответы от сервера используйте пакет connect-flash
- Проект можно немного доделать под себя
Сдаем домашнюю работу №3-№4 на проверку:
# 1. Сделайте коммит и пуш изменений
# 2. Создайте пулл реквест и отправьте его на проверку наставнику
# Как всё успеть?
Данный план является примерным ориентиром. Вы всегда можете работать в удобном для себя темпе.
# 🗓 Понедельник
Изучаем методичку по теме "Работа с шаблонами"
Изучаем материалы по теме "Работа с шаблонами"
# 🗓 Вторник
Изучаем методичку по теме "Express.js"
Начинаем выполнять домашнюю работу №3
# 🗓 Среда
Изучаем материалы по теме "Express.js"
# 🗓 Четверг
Доделываем домашнюю работу №3
Изучаем материалы по теме "Koa.js"
Подготовьте вопросы и запишитесь на консультацию к наставнику (тариф "Уютный")
# 🗓 Пятница
Начинаем выполнять домашнюю работу №4
Изучаем методичку по теме "Koa.js"
# 🗓 Суббота
Изучаем материалы воркшопа
Доделываем домашнюю работу №4
Отдыхаем и набираемся сил