JavaScript и TypeScript

Магазин на JavaScript, часть 6 из 19. Пагинация, свойства товара, JWT (JSON Web Token)

Товаров в каталоге может быть много и показывать их все на одной странице — плохая идея. Так что давайте заложим возможность запрашивать только часть товаров. Клиент может добавить GET-параметры limit (количество товаров на странице) и page (товары какой страницы возвращать). Sequelize предоставляет в наше распоряжение…
Теги: BackendExpress.jsFrontendJavaScriptNode.jsORMReact.js

Магазин на JavaScript, часть 5 из 19. Создание моделей, фильтрация по категрии и бренду

Сейчас получилось так, что контроллер выполняет работу модели шаблоне MVC (Model-View-Controller), а моделей у нас и вовсе нет. Давайте исправим это упущение и создадим в директории models файлы моделей Product.js, Category.js, Brand.js и User.js. Модели реализуют бизнес-логику приложения и взаимодействуют с базой данных.
Теги: BackendExpress.jsFrontendJavaScriptNode.jsORMReact.js

Магазин на JavaScript, часть 4 из 19. CRUD для категорий и товаров, загрузка изображений

Хорошо, теперь нам нужно реализовать все методы всех контроллеров, чтобы можно было создавать, обновлять, удалять и получать товары, категории, бренды и пользователей. Здесь нам поможет документация ORM-библиотеки Sequelize и ее методы create, update, save, destroy, reload, findOne, findByPk, findAll.
Теги: BackendExpress.jsFrontendJavaScriptNode.jsORMReact.js

Магазин на JavaScript, часть 3 из 19. Добавляем классы контроллеров, обработка ошибок

Сейчас функции, которые обрабатывают HTTP-запросы от клиента, расположены прямо в роутере. Но это задача контроллера, которых у нас будет несколько — для товаров, категорий, брендов и пользователей. Создаем директорию controllers и внутри нее — файлы Product.js, Category.js, Brand.js и User.js.
Теги: BackendExpress.jsFrontendJavaScriptNode.jsORMReact.js

Магазин на JavaScript, часть 2 из 19. Обрабатываем HTTP запросы, добавляем маршруты

Сервер работает, но если мы попробуем открыть в браузере страницу localhost:7000, то получим ошибку «Cannot GET /». Нужно указать серверу, какие endpoint обрабатывать и что делать при поступлении GET, POST, PUT и DELETE запросов. Так что открываем на редактирование файл index.js…
Теги: BackendExpress.jsFrontendJavaScriptNode.jsORMReact.js

Магазин на JavaScript, часть 1 из 19. Серверное приложение, база данных, ORM Sequelize

Простой интернет-магазин на Node.js (сервер) и React.js (клиент). Данные будем хранить в базе данных PostgreSQL. Для серверной части используем фреймворк Express.js. Приложение не имеет практической ценности, сделано с целью изучения. Создаем директорию проекта shop, внутри нее — еще две директории, server и client.

RESTfull API приложение на фреймворке Express.js

Сделаем небольшое RESTfull API приложение на фреймворке Express.js. Это будет блог, каждый пост содержит заголовок, автора, контент и картинку. Данные будем хранить в базе данных MongoDB. Для тестирования используем расширение REST Client для VS Code. Практической ценности не имеет, просто первое знакомство с фреймворком.

React.js. Модуль React Query. Часть 2 из 2

Для реализации пагинации с помощью React Query достаточно включить информацию о текущей странице в ключ запроса. И добавить на страницу списка постов информацию о текущей странице и кнопки для перехода к следующей и предыдущей. Кроме того, нам надо изменить код сервера, чтобы он возвращал не все посты, а только часть…

React.js. Модуль React Query. Часть 1 из 2

Традиционный метод fetch() отлично подходит для извлечения данных с помощью API. Однако по мере разрастания и усложнения приложения можно столкнуться с рядом трудностей. Первая трудность — кэширование полученных данных и поддержание кэша в актуальном состоянии. Вторая трудность — большой объем данных…

React.js. Почему функция-редюсер вызывается дважды

Небольшое приложение — телефонная книга, не имеет практической ценности, сделано исключительно с целью изучения React. Изначально вообще не планировал публиковать это, но столкнулся с интересным случаем, когда функция-редюсер вызывалась дважды для одного action. Несколько часов не мог понять — что вообще происходит?
Каталог оборудования
Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua.
Производители
Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua.
Функциональные группы
Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua.