← Back to Portfolio

Progress-Steps

Progress-Steps main image

Project Description & Details

Задача

Progress Steps решает прикладную задачу: Разработал интерактивный индикатор прогресса с несколькими шагами, используя чистый JavaScript, HTML и CSS. Реализовал динамическую полосу прогресса с пронумерованными индикаторами шагов, плавными CSS-переходами и отзывчивыми состояниями кнопок. Этот компонент демонстрирует манипуляции с DOM, обработку событий и современные техники CSS, часто используемые в многоступенчатых формах и процессах онбординга.

Это учебный проект (завершён и используется), где отрабатывались конкретные паттерны и инструменты без лишней обвязки.

Кейс демонстрирует типовой цикл разработки: постановка → прототип → стабилизация → сопровождение.

Перед стартом зафиксировали критерии готовности: понятный первый экран, предсказуемые ошибки форм, возможность доработки без переписывания половины кодовой базы.

Решение

Сделана учебная, но полноценная реализация с акцентом на читаемость кода и воспроизводимую сборку.

Сценарии спроектированы так, чтобы основные действия укладывались в один–два экрана: меньше переключений, меньше ошибок при вводе. Навигация и подписи полей согласованы с привычными паттернами — пользователю не нужно «учить интерфейс».

Отдельное внимание — состояния загрузки и пустые списки: skeleton/spinner там, где данные приходят асинхронно, и понятные empty-state тексты вместо пустой таблицы.

Архитектура и стек

UI и клиент: HTML, CSS.

Инфраструктура и утилиты: JavaScript.

Распределение языков в репозитории: CSS (50.3%), JavaScript (30.7%), HTML (18.9%).

Слои разделены так, чтобы UI не знал деталей транспорта: адаптеры API/хранилища, доменные типы, компоненты представления. Это упрощает замену бэкенда и точечные UX-правки.

Ключевые функции

  • HTML — использован в продуктовой логике: снижает количество самописного кода и ускоряет добавление новых экранов.
  • CSS — использован в продуктовой логике: снижает количество самописного кода и ускоряет добавление новых экранов.
  • JavaScript — использован в продуктовой логике: снижает количество самописного кода и ускоряет добавление новых экранов.

Дополнительно:

  • Интеграция и использование HTML в продуктовой логике и интерфейсе.
  • Интеграция и использование CSS в продуктовой логике и интерфейсе.
  • Интеграция и использование JavaScript в продуктовой логике и интерфейсе.

Результат

Проект доведён до рабочего состояния: команда/пользователь получает стабильный инструмент вместо ручных таблиц и переписки. Сокращено время на типовые операции за счёт автоматизации в интерфейсе.

Исходный код открыт: https://github.com/astropsy999/Progress-Steps — можно оценить структуру модулей и стиль коммитов.

Что бы улучшил

Добавил бы e2e-тесты на критичные сценарии и вынес бы конфигурацию в отдельный слой для экспериментов. Для публичного demo — CI-сборку и preview-окружение на каждый pull request.

FAQ

What is «Progress-Steps» for?

Developed an interactive multi-step progress indicator using vanilla JavaScript, HTML, and CSS. Implemented a dynamic progress bar with numbered step indicators, smooth CSS transitions, and responsive button states. This component demonstrates DOM manipulation, event handling, and modern CSS techniques commonly used in multi-step forms and onboarding flows.

Which stack powers «Progress-Steps»?

Technologies: HTML, CSS, JavaScript.

Project information

LearningCompleted

Technologies Used

HTMLCSSJavaScript

Languages

CSS (50.3%)JavaScript (30.7%)HTML (18.9%)