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

53
CLAUDE.md Normal file
View File

@ -0,0 +1,53 @@
# 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
```
## Команды
```bash
npm run dev # Запуск dev-сервера
npm run build # Сборка для продакшена
npm run preview # Превью билда
npm run lint # Линтинг
```
## Архитектурные решения
- **Псевдоавторизация:** Логин сохраняется в localStorage, любой логин принимается. Нет пароля.
- **Клавиатура:** Калькулятор полностью управляется с клавиатуры (цифры, операторы, Enter=равно, Escape=сброс, Backspace=удаление).
- **Адаптивность:** Минимальная ширина экрана 320px. Интерфейс центрирован.