init: project docs — requirements, architecture, deploy config

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
This commit is contained in:
Alina
2026-02-17 20:40:09 +03:00
commit 56fee5cbdf
3 changed files with 440 additions and 0 deletions

67
REQUIREMENTS.md Normal file
View 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
- Чистый минималистичный дизайн
- Цветовое разделение: цифры / операторы / функции
- Плавные анимации при нажатии кнопок
- Отображение имени пользователя и кнопки выхода в шапке