Реализует концепцию SSR (Server-Side Rendering)
Содержание корзины синхронизируется с хранилищем на клиенте (LocalStorage)
Название файла | Содержание файла |
---|---|
api/index.js api/routes.js | Интерфейс для работы с базой данных |
pages/* | Все страницы хранятся здесь |
components/* | Многоразовые компоненты, шапка, модальные окна |
nuxt.config.js | Настройки приложения |
assets/img | Все изображения здесь |
assets/main.css | Все глобальные стили здесь |
assets/strings.js | Через этот файл реализована поддержка нескольких языков (в работе) |
config.js | Специфические и конфиденциальные настройки. Для каждого разработчика и сервера этот файл уникален. |
На стороне сервера установлены Express, MongoDB, Body-Parser - для обработки запросов и доступу к Mongo
Данные о товарах и отзывы хранятся в базе данных Mongo на сервере. Коллекции: books, t_shirts, trinkets, reviews
Через API мы получаем эти данные и сохраняем в store. Данные получаем не все сразу, а при переходе пользователя в соответствующий раздел сайта.
Содержание корзины хранится в переменной productsInCart, которая синхронизируется с LocalStorage
Конфиденциальные данные хранятся в файле config.js. В репозитории в этом файле данные с моего локального ПК. На сервере они отличаются
Сервер работает под управлением Node.js v13.0.1, MongoDB Структура файлов на сервере
-.nuxt
-api
-node_modules
config.js
nuxt.config.js
package-lock.js
package.js