Back to Overview

Michil Deploy Workshop

team00
RED Service down Connection failed Timeout or DNS error

Today (9:00 MSK — 9:00 MSK)

0
Commits
0
PRs Merged
0
PRs Opened
0
Issues Opened
0
Issues Closed

All Time

2
Commits
0
PRs Merged
0
PRs Opened
0
Issues Opened
0
Issues Closed
-
API Usage

Product Testing

Last tested: 2026-02-05 01:41
PDF DOCX
9.0
Overall
9
ux
9
functionality
9
performance
ux (9/10)
Отличный UX для фитнес-лендинга. Дизайн современный, тёмная тема приятна для глаз. Навигация интуитивная - всего 2 страницы с понятными названиями. Форма обратной связи имеет подробные подсказки для каждого поля и мгновенную валидацию с понятными сообщениями об ошибках. Функция сохранения черновика - отличное UX-решение, предотвращающее потерю данных. Единственный минус - кнопки 'See Demo' и 'Download App' не работают без объяснения причины.
functionality (9/10)
Все заявленные в README функции полностью реализованы и работают корректно. Контактная форма имеет все правила валидации: минимальная длина имени (2 символа), паттерн email, обязательный выбор темы, минимальная длина сообщения (20 символов), обязательное согласие на обработку данных. Draft persistence работает безупречно - данные сохраняются в localStorage, восстанавливаются при перезагрузке и очищаются при Reset/успешной отправке. React Query интегрирован для отправки формы с показом статуса.
performance (9/10)
Страницы загружаются мгновенно, переходы между роутами происходят без задержек благодаря клиентской маршрутизации React Router. Валидация формы работает в реальном времени без лагов. В консоли есть 2 warning'а о controlled/uncontrolled Select компоненте, но они не влияют на функциональность. Сборка оптимизирована через Vite, что обеспечивает быструю загрузку ресурсов.

Findings (20)

high bug Broken: Кнопка 'See Demo' - не реагирует
high bug Broken: Кнопка 'Download App' - не реагирует
high bug Broken: Ссылки Footer (Privacy, Terms, Instagram, App Store) - ведут на #
high bug Console warning: 'Select is changing from uncontrolled to controlled' при взаимодействии с Topic combobox
medium ux_issue Нет визуальной индикации процесса отправки формы (loading spinner)

Commits & Code Churn

31 Jan — 6 Feb 2026

PR Activity

31 Jan — 6 Feb 2026

Languages

README

PulseTrack – Fitness Tracking Landing

PulseTrack is a fitness tracking landing page built with React, TypeScript, Vite, and Radix Themes.
It showcases a training analytics app with a marketing home page and an About page featuring a contact form.

Tech stack

  • React + TypeScript + Vite
  • @radix-ui/themes and @radix-ui/react-icons
  • react-router-dom
  • react-hook-form (built-in rules only, no schema validators)
  • @tanstack/react-query

Getting started

  1. Install dependencies:
npm install
  1. Run the dev server:
npm run dev
  1. Open the app in your browser (usually at http://localhost:5173).

Available scripts

  • npm run dev – start Vite dev server
  • npm run build – type-check and build for production
  • npm run preview – preview the production build
  • npm run lint – run ESLint

Routes

  • /Home: hero section, highlights, features grid, “How it works” steps, and final CTA, all styled with Radix Themes.
  • /aboutAbout & Contact: about copy plus a contact form with validation and submit handled via React Hook Form and React Query.

Contact form & draft persistence

  • Validation is implemented via react-hook-form using register rules:
  • name: required, min length 2
  • email: required, email pattern
  • topic: required select
  • message: required, min length 20
  • consent: required checkbox with custom validate
  • Draft values are stored in localStorage under the contactDraft key and restored on page load; resetting or successful submit clears the draft.

Events History

Total: 2 events
C [feat] add ci/cd michil.egorov 02-03 16:59
C first commit michil.egorov 02-03 14:30