Левицкий Концепт
Инициализация систем000%
Левицкий Концепт
Все проекты
Реализован aquatravel.md

Aquatravel.md

Сайт компании водных туров по реке Днестр

Коммерческий сайт водных туров (каякинг, рафтинг) под ключ: каталог туров, интернет-магазин мерча и подарочных сертификатов, личный кабинет, 3 языка и собственная админ-панель — от дизайна до боевого деплоя с почтовым сервером и SSL.

Next.js 16React 19TypeScriptTailwind v4Framer MotionMongoDBNextAuth v5PM2NginxPostfix + OpenDKIM
Aquatravel.md

Технологический стек

  • Next.js 16 (App Router, Turbopack), React 19, TypeScript
  • Tailwind CSS v4, Framer Motion (анимации на 34 страницах), lucide-react
  • MongoDB + Mongoose (6 моделей), NextAuth v5 (Credentials + JWT)
  • Node.js + PM2, Nginx (reverse-proxy, HTTPS), Let’s Encrypt, Sharp

Безопасность

Продуманный набор защитных мер уровня production.

  • Защита от NoSQL-инъекций — строгая нормализация всего ввода (lib/sanitize), отсечение объектов вида {$ne:null}
  • 2FA/TOTP — собственная реализация RFC 6238 на Node crypto (base32, HOTP/TOTP, timingSafeEqual), секрет в БД зашифрован AES-256-GCM, QR для подключения
  • bcrypt для паролей; восстановление — одноразовый токен (в БД только SHA-256-хэш, TTL 1 час, одинаковый ответ независимо от существования email)
  • Rate limiting на логин/регистрацию/заказы/сброс пароля; server-side пересчёт суммы заказа
  • HTTP security-заголовки: HSTS preload, X-Frame-Options, CSP (frame-ancestors / base-uri / object-src / form-action), отключён X-Powered-By
  • Ролевая модель (requireAdmin на layout и каждой мутирующей API-ручке), валидация загрузки файлов, DKIM-подпись писем

SEO

  • Динамический sitemap.xml (статика + туры из БД) и robots.txt (закрыты /admin, /api, личные разделы)
  • Централизованные метаданные (canonical, Open Graph, Twitter Cards), JSON-LD TravelAgency
  • PWA-манифест, apple-icon, оптимизация LCP (preconnect, next/image, WebP)
  • Уникальные SEO-тексты под каждый раздел

Многоязычие (i18n)

  • 3 языка: русский, английский, румынский — с переключателем и сохранением выбора
  • Контент туров в БД мультиязычными кортежами {ru, en, ro}
  • Локализованы интерфейс, статусы заказов, категории/сложность туров и все письма

Функционал пользователя

  • Каталог туров с фильтрами, детальные страницы, маршруты, флотилия, галерея, отзывы, корпоративные туры
  • Корзина и оформление заказа: туры, сертификаты, мерч (футболки, кепки) с опциями
  • Подарочные сертификаты и мерч как полноценный мини-магазин, бронирование с выбором даты и числа человек
  • Личный кабинет: история заказов и статусы, профиль, включение/отключение 2FA

Интеграции

  • Собственный почтовый сервер (Postfix + OpenDKIM) — без сторонних SaaS
  • Транзакционные письма с фирменным адаптивным HTML-шаблоном на языке пользователя (регистрация, заказ, смена статуса, сброс пароля)
  • Генерация QR-кодов для 2FA, два способа оплаты (наличные / карта)

Админ-панель

  • Дашборд с аналитикой: заказы и выручка за день/неделю/месяц/всё время, пользователи, туры, остатки мерча
  • CRUD туров (мультиязычно) с загрузкой и оптимизацией изображений, управление мерчем
  • Заказы — смена статуса с автоматическим письмом клиенту; менеджер галереи
  • Встроенная инструкция для администратора и человекопонятный аудит безопасности

Дизайн и инфраструктура

  • Авторский визуальный стиль водной/природной темы (зелёный, песочный, оранжевый), кинематографичные hero-секции на Framer Motion
  • Единые брендовые компоненты (Header, Footer, PageHero, TourCard), фирменный стиль и в письмах
  • Боевой сервер: PM2, Nginx, HTTPS (Let’s Encrypt), поддомен mail.aquatravel.md
  • Скрипты миграции, сидинга, генерации OG-изображений/фавиконов и пакетной оптимизации медиа

Клиент пока не оставил отзыв.