Skip to content

Repository files navigation

Домашнее задание курса Node.js (3 и 4)

В проекте есть следующие скрипты:

Запуск приложения в режиме production

    npm start

Запуск приложения в режиме разработки

    npm run start:dev

Выполнить форматирование кода

    npm run prettier

Выполнить проверку кода с помощью Eslint

    npm run lint

Выполнить проверку кода с помощью Eslint и автоисправлением ошибок

    npm run lint:fix

Проект состоит из трех маршрутов

  • / - основной лендинг
  • /login - форма входа в админ панель
  • /admin - админ панель

Необходимо реализовать

На главной странице


POST запрос URL: / Отправляет на сервер поля

    {
      name,
      email,
      message
    }

Отправить письмо от пользователя. Также на главной странице изменить вывод скиллов и товаров, в соответствующих блоках, из базы данных. То есть если добавлен товар он должен появиться в выдаче на главной странице. Если в административной панели изменили значения скиллов они должны измениться и на главной странице.

На странице 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 на свое усмотрение

P.S.

  • JS не используется для отправки форм, все выполняется нативно браузером. Хотите пишите самостоятельно клиентский код
  • Для ответов с сервера есть поле .statusв каждой форме. Чтобы туда отправлять ответы от сервера используйте пакет connect-flash
  • проект можно немного изменять под себя

About

Node JS routing, email, DB

Resources

Stars

0 stars

Watchers

1 watching

Forks

Releases

Packages

Contributors

Languages