Задача
Разработать десктопное приложение ASTools на Electron с использованием React и TypeScript. Приложение должно работать на Windows, Linux и macOS. ASTools - это локальный лаунчер для инструментов и программ, без серверной части и без работы с сетью. Все данные хранятся только на компьютере пользователя.
Функциональные требования
- Список инструментов: Отображение списка добавленных инструментов, которое позволяет просматривать, добавлять, редактировать и удалять записи.
- Добавление инструментов: Возможность вручную добавлять инструменты в список (например, укажите путь к .exe, скрипту Python, Java-файлу и т.д.).
- Запуск инструментов: Запуск инструмента одним нажатием кнопки (открыть программу).
- Категории: Простая система категорий (например, «Разработка», «Дизайн», «Администрирование») для сортировки инструментов.
- Настройки:
- Переключение светлой / тёмной темы интерфейса.
- Выбор корневой папки, где будут храниться инструменты и связанные с ними файлы.
Интерфейс и данные
- Дизайн: Все интерфейсные макеты уже готовы, необходимо перенести их в работающее приложение без изменений.
- Логика: Готовая схема работы, которая не требует творческих решений - все шаги последовательности и формат хранения данных будут предоставлены заранее для копирования или адаптации.
- Для вдохновения доступен старый прототип приложения (рекомендуется ориентироваться на логику, не копируя код).
Технические детали
- Хранение: Использовать локальные хранилища (JSON-файлы или Simple Store Electron), без подключения к сети Интернет. Шифрование не требуется.
- Сложность: Простая архитектура, без излишних сложных решений, чтобы код был понятным и легко дорабатываемым после завершения разработки.
- Инструменты: Пользователь может запускать любой локальный проект или файл (например, .py, .exe, .java и т.д.), независимо от того, что написано. ASTools отвечает только за удобный поиск и запуск.
Полный стек технологий
- Фреймворк десктопа: Electron (основной)
- Язык фронта: TypeScript + React
- Верста: готовые HTML/CSS
Требования к платформам
- Windows: .exe-установщик или портабельная версия
- macOS: .dmg-файл
- Linux: пакет форматов AppImage или Flatpak
Архитектура простая, код легко дорабатывать. Результат должен быть рабочим, аналогичным по тональности.