Skip to content

An analogue of the online course store - "e-commerce-shop-on-node-js", but redesigned for the 3-layer-architecture

Notifications You must be signed in to change notification settings

pestsov-v/3-layer-architecture-e-commerce-shop

Repository files navigation

Интернет-магазин курсов

Проект приложения интернет-магазина курсов. Приложение разработано с учётом перечня всего функционала интернет магазина, в том числе корзина, заказы и организация профиля пользователя. README описан в формате, который по строково объясняет значение той или иной логики кода. Уровень описания проекта предполагает, что читающий является новичком.

Реализация проекта на Heroku Ссылка на проект.


Оглавление документации


Применение

Приложение разработано на серверной платформе Node.js с включением базы данных MongoDB, шаблонизатора Handlebars и различных middlware модулей.

Приложение выполнено по MVC-паттерну где:

  • M - Model или модель. Модель представляет из себя схему, которая определяет перечень принимаемых и обрабатываемых данных. Также модель может включает в себя методы определяемые в конкретной модели. Такими методами могут быть, к примеру, перевод формата ID в базе данных MongoDB в формат ID принимаемый Node.js серверов.
  • V - View или представления. Преставления визуализируют данные, тем самым позволяя разработчику более удобный взгляд и проверку реализации тех или иных функций и методов.
  • С - Controller или контроллер. Контроллер это обработчик данных, который в зависимости от типа запроса и маршрута определяет функционал реализации.

Базовое понимание MVC-паттерна замыкается, на трёх блоках - модели, представления и контроллере. В свою очередь блоки имеют следующие между собой зависимости:

  • Пользовательские взаимодействия с представлениями определяют работу контроллера.
  • Контроллер определяет функционал обращения к модели.
  • Модель предоставляет необходимые данные представлению.
    Приложение же является более сложным, чем базовое понимание и поэтому включает в себя блок промежутоных обработчиков (middleware). Промежучтоные обработчики являются дополнительными обработчиками контроллеров к обращению к моделям.

Общая схема работы паттерна описана ниже:

0.png


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

Чтобы запустить приложение в режиме разработки скачайте архив с проектом после чего в редакторе кода в коммандной строке установите необохидмые зависимости:

npm i

Создайте в папке '/keys' файл 'keys.dev.js' в который добавьте необходимые вводные данные:

Подробно о получении вводных данных смотрите Вводные данные

Запустите режим разработки введя следующую комманду в коммандной строке:

npm run dev

About

An analogue of the online course store - "e-commerce-shop-on-node-js", but redesigned for the 3-layer-architecture

Topics

Resources

Stars

Watchers

Forks

Packages

No packages published