Switch to English?
Yes
Переключитись на українську?
Так
Переключиться на русскую?
Да
Przełączyć się na polską?
Tak
iRide — це динамічна веб-платформа для мережі мотошкіл, мотосервісів та майданчиків з продажу мотоциклів у Запоріжжі та Дніпрі. Проект розроблено з нуля для автоматизації взаємодії з клієнтами, презентації послуг компанії та збору лідів.

Роль у проекті: Fullstack Developer (Єдиний розробник)

Тип проекту: Комерційний / Case Study

ехнологічний стек
Backend: Java 17, Spring Boot, Spring MVC

Frontend: HTML5, CSS3 (Modern Flexbox/Grid), JavaScript (Vanilla ES6)

Шаблонізатор: Thymeleaf

Архітектура: MVC (Model-View-Controller)

1. Розумна геолокація та кастомізація контенту (Spring Boot + Cookies)
Проблема: Мережа працює у двох містах з різними цінами, графіками та адресами. Потрібно показувати релевантний контент без примусової реєстрації.

Рішення: Реалізовано систему збереження вибору міста в Cookies (selectedCity). Створено контролер, який при першому візиті на будь-яку сторінку сайту (навіть якщо користувач прийшов з Google відразу на внутрішню сторінку) перевіряє наявність куки. Якщо вона відсутня — Thymeleaf рендерить модальне вікно вибору міста, блокуючи інтерфейс. Після вибору сторінка оновлюється без втрати контексту за допомогою HTTP-заголовка Referer.

2. Преміальний UX/UI та адаптивність (Premium UI)
Ефект Glassmorphism: Для карток та модальних вікон використано сучасний ефект розмиття фону (backdrop-filter: blur). Для забезпечення кросбраузерності на мобільних пристроях (зокрема iOS Safari) інтегровано вендорні префікси та fallbacks для застарілих систем.

Fullscreen-Бургер Меню: Розроблено адаптивну навігацію для мобільних пристроїв. Меню розгортається на весь екран за допомогою CSS clip-path: circle() (ефект плавного розкриття колом з точки кліку). Інтегровано динамічну затримку появи елементів (Staggered Animation за допомогою CSS-змінних --i). Для запобігання багів прокрутки під час відкритого меню реалізовано блокування body { overflow: hidden } на рівні JavaScript.

3. Клієнтська валідація даних без сторонніх бібліотек
Проблема: Користувачі часто помилялися при введенні номерів телефонів (вводили літери, не дописували цифри), що призводило до втрати лідів.

Рішення: Написано кастомний JavaScript-модуль для маски вводу телефону на чистому JS (Vanilla). Скрипт автоматично підставляє національний префікс +380 при першому натисканні на цифру, блокує введення будь-яких літер чи спецсимволів (регулярні вирази \D), автоматично форматує рядок та обмежує довжину до стандартного українського формату. Додатково додано HTML5 pattern валідацію для захисту від відправки неповних номерів
Деталі роботи
Бюджет 88 699 UAH
Додано 16 травня
69 переглядів
Фрилансер
Oleksandr Khutornyi
Україна Ніжин
Немає відгуків

Трохи зайнятий Трохи зайнятий
На сервісі 1 рік