Одностраничный сайт для агентства Blancy, который показывает компетенции команды, портфолио и предлагает удобные способы связи с потенциальными клиентами.
- Живой первый экран с призывом к действию и адаптивным изображением.
- Раздел с проектами: карточки объединяют текст, графику и кнопку для перехода к подробностям.
- Блок "О компании" с ключевыми цифрами на базе повторно используемых компонентов.
- Раздел "Нам доверяют" с сеткой логотипов и кнопкой быстрого контакта.
- Две формы заявок (быстрая и расширенная) с валидацией полей и подсказками.
- Отдельная навигация для мобильных устройств и десктопов.
- Лента статей с категорией, временем чтения и датой.
- Клиентская часть: Next.js, React, TypeScript.
- Оформление: CSS Modules, адаптивная вёрстка на медиа-запросах.
- Контроль качества: ESLint, Stylelint, Prettier, TypeScript.
- Рабочий процесс: Node.js, NPM Scripts, статический экспорт через
next export.
-
Установите Node.js версии 22 и выше.
-
Склонируйте репозиторий и перейдите в папку проекта:
git clone https://github.com/IrinaRyazanskaya/blancy-frontend.git cd blancy-frontend -
Установите зависимости:
npm install
-
Запустите локальную разработку (порт по умолчанию
http://localhost:3000):npm run start
-
Соберите статическую версию и просмотрите её локально:
npm run build npm run preview
-
Дополнительные команды для повседневной работы:
npm run build # сборка оптимизированной версии npm run storybook # запуск Storybook на 6006 порту npm run format # автоматическое форматирование кода npm run lint # запуск линтеров для проверки качества кода npm run lint-fix # автоматическое исправление ошибок линтинга
blancy-frontend/
├── pages/ # Входные точки Next.js: главная страница и подключение общих стилей
│ ├── _app.tsx
│ └── index.tsx
├── components/ # Повторно используемые блоки: баннер, проекты, услуги, отзывы, формы
│ ├── home-banner/
│ ├── cases/
│ ├── services/
│ ├── people-says/
│ ├── people-trust/
│ └── ...(и другие)
├── hooks/
│ └── device-info.ts # React хуки для получения информации об устройстве
├── styles/
│ ├── globals.css # Глобальные шрифты и классы для мобильной и десктопной версий
│ └── home.module.css # Стили главной страницы
├── public/
│ ├── fonts/ # Кастомные шрифты
│ └── images/ # Статические изображения и иконки
├── .editorconfig # Единые правила оформления кода
├── .gitignore # Игнорируемые Git-ом файлы
├── .prettierignore # Исключения для Prettier
├── .prettierrc.json # Конфигурация Prettier
├── .stylelintrc.json # Конфигурация Stylelint
├── next.config.js # Настройки Next.js
├── eslint.config.mjs # Конфигурация ESLint
└── package.json # NPM-скрипты и зависимости проекта
- Логичная структура сайта цифрового агентства с последовательностью блоков.
- Повторно используемые карточки и формы для ускорения разработки.
- Настроены инструменты форматирования и проверки кода, что облегчает работу в команде.
- Настроен статический экспорт Next.js, чтобы можно было разместить проект на любом статическом хостинге.
- Адаптация под устройства: пользовательская функция
useDeviceInfoуправляет отображением мобильных и десктопных компонентов без повторения логики. - Формы заявок: проверка телефонов и e-mail сопровождается подсказками и снижает количество некорректных обращений.
- Единый стиль: фирменная типографика и сетка логотипов поддерживают образ агентства и легко настраиваются в CSS Modules.