init: project docs — requirements, architecture, deploy config
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
This commit is contained in:
67
REQUIREMENTS.md
Normal file
67
REQUIREMENTS.md
Normal file
@ -0,0 +1,67 @@
|
||||
# Требования к проекту Calculator
|
||||
|
||||
## 1. Псевдоавторизация
|
||||
|
||||
- Экран входа с полем "Логин" и кнопкой "Войти"
|
||||
- Принимается любой непустой логин (без пароля)
|
||||
- Логин сохраняется в localStorage
|
||||
- При повторном входе пользователь попадает сразу в калькулятор
|
||||
- Кнопка "Выйти" в интерфейсе калькулятора (очищает localStorage)
|
||||
- Отображение текущего логина в шапке
|
||||
|
||||
## 2. Калькулятор
|
||||
|
||||
### Операции
|
||||
- Сложение (+)
|
||||
- Вычитание (-)
|
||||
- Умножение (*)
|
||||
- Деление (/)
|
||||
- Процент (%)
|
||||
- Смена знака (+/-)
|
||||
- Десятичная точка
|
||||
- Равно (=)
|
||||
- Очистка (C) - полный сброс
|
||||
- Удаление последнего символа (Backspace)
|
||||
|
||||
### Дисплей
|
||||
- Поле ввода/результата с крупным шрифтом
|
||||
- Отображение текущего выражения (например "12 + 3")
|
||||
- Отображение результата
|
||||
- Текст уменьшается при длинных числах (auto-fit)
|
||||
|
||||
### Клавиатурная панель
|
||||
- Кнопки расположены сеткой (стандартная раскладка калькулятора)
|
||||
- Визуальная обратная связь при нажатии (hover, active состояния)
|
||||
|
||||
## 3. Управление с клавиатуры
|
||||
|
||||
| Клавиша | Действие |
|
||||
|---------|----------|
|
||||
| 0-9 | Ввод цифры |
|
||||
| . | Десятичная точка |
|
||||
| + | Сложение |
|
||||
| - | Вычитание |
|
||||
| * | Умножение |
|
||||
| / | Деление |
|
||||
| Enter или = | Вычислить результат |
|
||||
| Escape | Полный сброс (C) |
|
||||
| Backspace | Удалить последний символ |
|
||||
| % | Процент |
|
||||
|
||||
- Нажатие клавиши визуально подсвечивает соответствующую кнопку на экране
|
||||
- Фокус не должен уходить с калькулятора при работе с клавиатуры
|
||||
|
||||
## 4. Адаптивность
|
||||
|
||||
- Минимальная поддерживаемая ширина: 320px
|
||||
- Калькулятор центрирован на экране (по горизонтали и вертикали)
|
||||
- На маленьких экранах калькулятор занимает почти всю ширину
|
||||
- На больших экранах калькулятор имеет фиксированную максимальную ширину
|
||||
- Кнопки достаточно крупные для тач-устройств (минимум 48px)
|
||||
|
||||
## 5. UI/UX
|
||||
|
||||
- Чистый минималистичный дизайн
|
||||
- Цветовое разделение: цифры / операторы / функции
|
||||
- Плавные анимации при нажатии кнопок
|
||||
- Отображение имени пользователя и кнопки выхода в шапке
|
||||
Reference in New Issue
Block a user