Files
test-calculator/CLAUDE.md
2026-02-17 20:40:09 +03:00

1.9 KiB
Raw Blame History

Calculator

Frontend-калькулятор с псевдоавторизацией.

Стек

  • Framework: React 18 + TypeScript
  • UI: Ant Design 5
  • Сборка: Vite
  • Стили: CSS Modules
  • Роутинг: React Router 6
  • Домен: test-calculator.vigdorov.ru

Деплой

  • Namespace: test-calculator (отдельный)
  • CI/CD: Drone CI через ci-templates (service.yaml + .drone.yml)
  • Тип: web-frontend (SPA → nginx)
  • Registry: registry.vigdorov.ru/library/test-calculator
  • Trigger: push в master

Структура проекта

calculator/
  service.yaml          # Конфиг ci-templates
  .drone.yml            # CI/CD пайплайн
  src/
    components/       # UI-компоненты (Calculator, Display, Keypad, LoginForm)
    pages/            # Страницы (LoginPage, CalculatorPage)
    context/          # AuthContext для псевдоавторизации
    hooks/            # Кастомные хуки (useCalculator, useKeyboard)
    utils/            # Логика вычислений
    App.tsx
    main.tsx
  public/
  index.html

Команды

npm run dev       # Запуск dev-сервера
npm run build     # Сборка для продакшена
npm run preview   # Превью билда
npm run lint      # Линтинг

Архитектурные решения

  • Псевдоавторизация: Логин сохраняется в localStorage, любой логин принимается. Нет пароля.
  • Клавиатура: Калькулятор полностью управляется с клавиатуры (цифры, операторы, Enter=равно, Escape=сброс, Backspace=удаление).
  • Адаптивность: Минимальная ширина экрана 320px. Интерфейс центрирован.