Создание интернет-магазина — это интересная задача, которая требует внимания ко множеству аспектов. От идеи до конечного результата проходит несколько этапов, каждый из которых важен для успеха вашего проекта. В данной серии статей мы рассмотрим полный цикл разработки онлайн-магазина с использованием популярных инструментов и технологий.
Дизайн и прототипирование
На начальном этапе важно создать привлекательный и удобный интерфейс, который будет радовать пользователей и способствовать продажам. Для этого мы воспользуемся Figma — мощным инструментом для проектирования UI/UX. С помощью Figma вы сможете легко создавать макеты, экспериментировать с различными элементами дизайна и согласовывать их с командой. Прототипирование позволит вам заранее увидеть, как будет выглядеть ваш магазин, и внести необходимые корректировки еще до начала кодирования.
Фронтенд-разработка
После разработки дизайна переходим к верстке. Здесь нам поможет Vue.js. Эти технологии позволяют создавать адаптивные и быстрые сайты, которые будут хорошо смотреться на любых устройствах — от смартфонов до десктопов. Мы уделим внимание кроссбраузерности и доступности сайта, чтобы обеспечить максимальное удобство для всех категорий пользователей.
Бэкенд-разработка
Серверная часть нашего интернет-магазина будет реализована на Node.js. Этот мощный и гибкий инструмент позволяет быстро разрабатывать высокопроизводительные веб-приложения. Для работы с базой данных мы выберем MongoDB, которая является одной из наиболее популярных баз данных NoSQL. Она отлично подходит для хранения и обработки больших объемов данных, что особенно актуально для интернет-магазинов. Чтобы упростить взаимодействие с MongoDB, мы используем Mongoose — объектно-реляционное отображение (ORM), которое абстрагирует работу с базой данных и делает ее более удобной и безопасной.
Деплой и настройка сервера
Развертывание проекта на виртуальном сервере. Мы разберем процесс запуска сайта на хостинге, настройки домена и SSL-сертификата для безопасного соединения. После успешной установки и настройки сервера наш интернет-магазин будет готов принимать первых покупателей!
Таким образом, наша серия статей охватывает весь путь от идеи до запуска собственного интернет-магазина. Вы узнаете, как использовать передовые технологии и инструменты для создания успешного веб-проекта, который будет радовать вас и ваших клиентов.
В первую очередь нам необходимо определиться с интерфейсом нашего будущего онлайн магазина. Создавать дизайн мы будем в Figma.
vds
В этом разделе рассмотрим, как устроена Фигма: создадим первый файл и поработаем с ним.
В сервисе можно работать из браузера или скачать приложение на компьютер. Выбирайте браузер, если часто пользуетесь разными устройствами. Для этого зайдите на сайт Figma и зарегистрируйтесь.
Вы можете бесплатно скачать Figma на ПК. Для этого зайдите на страницу загрузки и выберите версию программы для MacOS или Windows.
Также доступно мобильное приложение для iOS и Android. Рекомендуем его использовать для просмотра дизайна мобильной версии вашего проекта.
После регистрации перед пользователем открывается главная страница Figma:
Рассмотрим пункты меню:
Давайте рассмотрим каждый пункт подробнее.
По нажатию на стрелочку откроется список.
Интерфейс поиска выглядит следующим образом:
Благодаря поиску можно удобно и быстро находить необходимые файлы в Figma.
Здесь находятся все файлы в хронологическом порядке.
В данном пункте меню вы можете выбрать созданные команды или создать новую.
Команды позволяют работать над проектом совместно с другими участниками. Это полезно, когда разработчик видит актуальный дизайн, менеджер видит стадии работы над проектом, а заказчик может оставлять комментарии прямо в файле. При нажатии на кнопку «Create new» открывается окно, где необходимо придумать название для команды, что помогает структурировать работу и улучшить коммуникацию между всеми участниками проекта.
Далее при помощи email вы можете пригласить участников в команду. Данный пункт можно пропустить и добавить участников позже. Для этого нажмите кнопку «Skip for now».
И в завершение необходимо выбрать тариф.
Для начала нам подойдет тариф «Starter», для углубленной работы стоит рассмотреть покупку платных пакетов.
В этом пункте мы можем увидеть все созданные нами доски.
Сейчас данный пункт пуст, но после создания макета здесь появятся наши файлы.
В данном пункте мы можем увидеть все проекты нашей команды.
Здесь мы можем увидеть все файлы, которые мы удалили.
Данный пункт отправит нас на страницу комьюнити, где можно найти готовые шаблоны для сайтов, плагины или различные стили для проекта.
Design, figjam и слайды — три разных подхода и форматов представления материалов в Figma, каждый из которых имеет свою специфику и область применения.
Design («дизайн») — классический инструмент для проектирования интерфейсов, иконографики, иллюстраций и визуальных элементов. Это основной режим работы в Figma, используемый дизайнерами и UI/UX-специалистами для разработки макетов приложений, веб-сайтов и любых цифровых продуктов. Основные особенности дизайна включают:
Создание и редактирование векторных объектов, шрифтов, цветов и слоев.
Работу с сетками, компоновкой и интерактивностью прототипов.
Совместную работу над проектами командой дизайнеров, разработчиков и менеджеров проектов.
Это наиболее распространенный способ взаимодействия с Figma для большинства пользователей.
Термин «Figjam» часто используется среди российских специалистов по дизайну и UX-исследованиям. Этот термин возник от английской фразы foggy jam («затуманенный хаос») и обозначает ситуацию, когда дизайнерская идея запутывается и теряет ясность из-за большого количества итераций, неопределенности требований заказчика или переизбытка вариантов решения проблемы. Сам термин «figjam» относится скорее к процессу работы и возникающим сложностям, нежели к конкретной функциональности программы Figma.
Таким образом, figjam не является самостоятельным инструментом или типом файла в Figma, а описывает типичные сложности, возникающие во время рабочего процесса, такие как трудности принятия решений, конфликты мнений внутри команды или недостаточная ясность целей проекта.
Режим «Слайды» в Figma предназначен для быстрого создания презентационных материалов и схем. По сути, это аналог инструментов типа PowerPoint или Google Презентаций, встроенных прямо в интерфейс Figma. Режим слайдов позволяет создавать структурированные презентации, иллюстрирующие этапы проекта, концепции продукта, бизнес-модели, исследования рынка и другие аспекты дизайн-процесса. Основное назначение режима слайдов заключается в представлении результатов работ перед заказчиками, инвесторами, коллегами или широкой аудиторией.
Основные преимущества слайдов в Figma:
Легкость интеграции графики и анимаций из режимов дизайна.
Возможность вставлять компоненты дизайна непосредственно в слайды.
Поддерживает общую экосистему совместной работы и комментирования.
Этот режим особенно полезен, когда проект требует пояснений, демонстрации этапов разработки или аргументации выбора определённых решений.
Итоги сравнения:
Параметр |
Design |
Figjam |
Слайды |
Назначение |
Проектирование |
Описание ситуации |
Представление идей |
Формат документа |
Файл .fig |
Не применимо |
Файл .fig |
Использование |
Дизайнеры |
Команда |
Руководители, дизайнеры |
Основная задача |
Макеты и элементы |
Анализ трудностей |
Пояснения и отчёты |
Интеграция |
Да |
Нет |
Да |
Примеры действий |
Интерфейс сайта |
Выбор направления |
Презентация проекта |
Таким образом, разница между этими тремя понятиями определяется характером задач и этапами процесса проектирования.
В нашем случае мы будем использовать «Design». Для этого перейдем на страницу «Drafts» (доски), наведем курсор на кнопку «+Create» и выберем «Design».
После создания файла перед нами открывается рабочее пространство с тремя областями: панель слоев, рабочая область и инспектор.
Для создания объектов используется нижнее меню.
В данном меню:
Первый пункт — меню выбора режима работы курсора:
Создание Frame, Section и Slice.
Frame — контейнер фиксированного размера для группировки элементов дизайна с возможностью установки границ и фона.
Section — инструмент для структурирования содержимого внутри фреймов, помогающий организовать элементы по смысловым блокам.
Slice — специальная область для экспорта отдельных частей макета в виде изображений или файлов определённого формата.
Создание фигур.
Инструменты для рисования векторов.
Инструмент для написания текста.
Инструмент для создания комментариев.
Меню асетов и плагинов.
Dev-режим, платная функция.
Теперь можно приступить к созданию интерфейса нашего интернет-магазина.
Для начала нам необходимо познакомиться еще с одной важной функцией в Figma — это компоненты. Они позволяют быстро изменять все копии данного компонента, что полезно, когда необходимо изменить что-то на большом количество страниц: изменяем только главный блок — и изменения применяются ко всем элементам.
Теперь мы можем переходить к созданию дизайна. Для начала определите, что необходимо на странице.
Наша структура будет следующей:
Далее определимся с цветовой гаммой. Мы будем реализовывать как светлую, так и темную тему, и наша цветовая палитра будет следующей:
Темная тема:
Светлая тема:
Теперь мы можем переходить к созданию макета. Начнём с подготовки компонентов. Создаем Header (меню для магазина). В нашем случае структура меню будет следующая:
Для поиска иконок воспользуемся плагином Phosphor Icons. Установить его можно из меню Фигмы:
Откроем данный плагин и найдем иконки для:
Большой плюс использования данного плагина в том, что мы получаем иконки в векторе, а значит, можем изменять их цвет и размер, не теряя качества.
Далее для структуризации всех иконок создайте Frame «UI-Kit». В него будем добавлять все загруженные иконки.
Для выравнивания иконок добавим к Frame свойство Auto layout.
После создания UI-Kit переходим к созданию Header. Опираясь на шаблон, создаем Frame (фрейм) «Header - light». Структура нашего Frame следующая:
Элементы в нашем Header:
В данном примере в качестве лого магазина мы используем текст, поэтому каждое из слов пишем на отдельном элементе «Text». По этой причине мы создаем дополнительный фрейм «Text». Если использовать картинку, то ставим ее вместо фрейм «Text».
Переходим к настройке Auto layout для каждого элемента.
Элемент «Location»:
Элемент «Logo»:
Элемент «Icons»:
Используем ранее составленную палитру цветов и получаем два Header, в светлой и темной теме:
Теперь переводим наши Header в компоненты.
Составим структуру:
Ссылки в меню быстрой навигации будут на страницы:
Создаем Frame «Search» и создаем структуру:
Рассмотрим четвертый Frame «Search»:
Рассмотрим Frame «Button»:
У активной кнопки добавляем Fill с цветом из палитры.
После всех настроек переводим Frame «Search» в компонент.
Составим структуру виджетов:
В виджете мы будем показывать наши товары, к их созданию мы перейдем позже. Создаем фрейм Widgets внутри которого будут еще два фрейма: Widget и Small Widgets. Рассмотрим структуру фрейма Widget:
Рассмотрим отдельно каждый элемент.
Первый Frame «Content»:
Второй Frame «Content»:
Frame «Button»:
Рассмотрим структуру Small Widgets.
Frame «Content»:
Frame «Info»:
Frame «Button»:
По аналогии создаем второй Frame. В итоге получаем Frame «Widgets».
Теперь нам необходимо создать товары для нашего онлайн-магазина.
Мы будем продавать футболки, поэтому переходим в Community и пишем запрос «T-Shirt Mockup». Среди результатов ищем то, что нам подходит большего всего, и по инструкции внутри файла создаем макеты.
После того как макеты футболок сделаны, нам необходимо их экспортировать. Для этого переходим в инспектор, листаем вниз и выбираем пункт «Export». Далее выбираем необходимый размер и нажимаем кнопку Export.
В данном интернет-магазине мы будет продавать три футболки:
Добавим наши товары в созданный Frame и получаем:
Теперь создаем такой же Frame для светлой темы сайта:
Переводим Frame в компоненты.
Структура блока:
Информация которую мы будем указывать:
Быстрая доставка
Доставка по МСК за 24 часа
24 часа на возврат
100% возврат по гарантии
Защищенная оплата
Твои данные защищены
Поддержка 24/7
Помощь в любое время
Создайте Frame «Features» и следующую структуру:
Блок Feature клонируем 4 раза, заменяя значения.
Компонент «Duotone/Package» — это иконка, которую мы добавили проект ранее.
Рассмотрим Frame «Feature»:
Создаем остальные три фрейма «Feature» и получаем:
Создаем из Frame компонент.
Для начала определимся со структурой блока:
Создадим Frame «Best Deals» и добавим следующую структуру:
У «Товара 1» мы покажем информацию о рейтинге, названии, описании, цене, скидке и поставим отметку HOT.
Добавим все элементы и получаем:
У данного элемента мы не настраиванием Auto layout.
Создадим сетку из 8 товаров. Сетка будет состоять из восьми фреймов «Product». Структура фрейма будет следующая:
У данного компонента мы также не настраиваем Auto layout.
Добавим все элементы и получаем:
Клонируем Frame «Product» до необходимого количества.
Настроим родительский Frame для «Product».
Добавим Auto layout.
Проверяем, что у нас получилось:
По аналогии создаем блок для светлой темы:
Переводим Frame в компоненты.
Проверим, что все элементы у нас готовы:
Все страницы мы будем делать внутри Frame, поэтому создаем фрейм и задаем размеры 1440 на 1080 — это эталонные размеры для области контента. Далее необходимо дать название нашему фрейму. Сейчас мы создаем главную страницу, поэтому назовем его «MainPage PC light» («PC» — так как версия для ПК, а «light» — так как светлая тема).
Создаем Frame и добавляем настройки:
Ничего страшного, что наш фрейм стал размером 20 на 20. Добавляем в него созданные элементы:
По аналогии добавляем темную тему:
Более подробно посмотреть процесс создания данных страниц можно в видео на Rutube.
Используя полученные знания, создадим страницу товара. Структура страницы:
Создадим страницу для товара «Футболка OnlineStore».
Информация, которую мы добавим:
Используя эти данные, составим Frame «Product Detail».
Создадим Frame «path», добавим данные и получим:
Добавим адаптацию под светлую и темную тему:
Фрейм «path» остается одинаковым как для светлой, так и для темной темы.
Для того чтобы наши клиенты могли узнать состояние заказа, добавим страницу отслеживания. Ее структура:
Путь до страницы: Главная/Отследить заказ
Для получения информации о заказе пользователь должен сообщить ID заказа и свой email.
Составим страницу и получим:
Добавим адаптацию под светлую тему и получаем:
После проверки данных пользователя будет перекидывать на страницу с активностью заказа. Структура данной страницы:
Используя макет, создадим страницу:
И создадим адаптив для светлой темы:
Популярная и востребованная функция в интернет-магазинах — возможность добавить товар в избранное. Создадим данную страницу, используя следующий макет:
Путь до страницы: Главная/Избранное.
Для примера добавим все три товара в список избранного и получим следующую страницу:
Адаптируем страницу под светлую тему и получаем:
Для создания корзины воспользуемся макетом:
Для примера добавим два товара в корзину:
Реализуем адаптацию под светлую тему:
Для создания страницы оформления заказа воспользуемся макетом:
Составим страницу, ориентируясь на макет, и получим:
Адаптируем дизайн под светлую тему и получим:
Далее мы перенаправим пользователя на главную страницу и отправим на электронную почту информацию по заказу.
Для того чтобы мы могли создавать товары, принимать заказы и следить за статистикой, нам необходимо создать панель администратора. Определимся с тем, какие страницы нам будут нужны в меню:
Создадим структуру нашего меню:
Теперь создадим наше меню в Figma:
Применим к меню Auto layout и настроим его:
Далее добавим структуру:
В Frame «Content» находится всё наше меню:
Далее создадим темную тему для меню:
Переходим к созданию самой страницы. Ее макет выглядит следующим образом:
Создадим раздел с аналитикой. Его макет:
Создадим Frame «Activity». Структура и настройки:
Настройки Auto layout:
В результате получаем:
Добавим адаптацию под темную тему:
Для «Активных заказов» и «Популярных товаров» создадим обычную таблицу:
Адаптируя, получаем:
Собираем страницу и получаем:
Добавим адаптацию для темной темы:
По аналогии создаем все остальные страницы. В результате получаем следующие страницы.
Страница товаров:
Страница заказов:
Страница пользователей:
Страница аналитики:
Выгодные тарифы на VDS/VPS в Timeweb Cloud
На этом первая часть закончена — мы успешно создали дизайн страниц для нашего магазина. Ознакомиться с итоговым вариантом, который мы получили после выполнения всех шагов в инструкции, можно в Figma.
Теперь мы можем переходить к следующему этапу — разработке backend-логики магазина. Об этом расскажем в следующей части статьи, которая появится в ближайшее время.