Проект приложения интернет-магазина курсов. Приложение разработано с учётом перечня всего функционала интернет магазина, в том числе корзина, заказы и организация профиля пользователя. README описан в формате, который по строково объясняет значение той или иной логики кода. Уровень описания проекта предполагает, что читающий является новичком.
Реализация проекта на Heroku Ссылка на проект.
- Оглавление документации
- Вводные данные
- Представления
- Маршутизаторы
- Контроллеры
- Промежуточные обработчики
- Модели
- Применение
- Запуск приложения
Приложение разработано на серверной платформе Node.js с включением базы данных MongoDB, шаблонизатора Handlebars и различных middlware модулей.
Приложение выполнено по MVC-паттерну где:
- M - Model или модель. Модель представляет из себя схему, которая определяет перечень принимаемых и обрабатываемых данных. Также модель может включает в себя методы определяемые в конкретной модели. Такими методами могут быть, к примеру, перевод формата ID в базе данных MongoDB в формат ID принимаемый
Node.js
серверов. - V - View или представления. Преставления визуализируют данные, тем самым позволяя разработчику более удобный взгляд и проверку реализации тех или иных функций и методов.
- С - Controller или контроллер. Контроллер это обработчик данных, который в зависимости от типа запроса и маршрута определяет функционал реализации.
Базовое понимание MVC-паттерна замыкается, на трёх блоках - модели, представления и контроллере. В свою очередь блоки имеют следующие между собой зависимости:
- Пользовательские взаимодействия с представлениями определяют работу контроллера.
- Контроллер определяет функционал обращения к модели.
- Модель предоставляет необходимые данные представлению.
Приложение же является более сложным, чем базовое понимание и поэтому включает в себя блок промежутоных обработчиков (middleware). Промежучтоные обработчики являются дополнительными обработчиками контроллеров к обращению к моделям.
Общая схема работы паттерна описана ниже:
Чтобы запустить приложение в режиме разработки скачайте архив с проектом после чего в редакторе кода в коммандной строке установите необохидмые зависимости:
npm i
Создайте в папке '/keys' файл 'keys.dev.js' в который добавьте необходимые вводные данные:
Подробно о получении вводных данных смотрите Вводные данные
Запустите режим разработки введя следующую комманду в коммандной строке:
npm run dev