Кросс-платформенное приложение для учета домашних заготовок в холодильнике/морозилке.
| Платформа | Статус | Технология | Директория |
|---|---|---|---|
| Web App | ✅ Готово | React + TypeScript + Vite | / (корень) |
| iOS Native | ✅ Готово | SwiftUI | /ios-app |
| Android Native | 🔜 Планируется | Kotlin + Jetpack Compose | - |
| Telegram Mini-App | 🔜 Планируется | React + TWA SDK | - |
# Установка зависимостей
npm install
# Запуск dev-сервера
npm run dev
# Сборка для продакшена
npm run buildПриложение откроется на http://localhost:5173
- Откройте Xcode (требуется macOS + Xcode 15+)
- Следуйте инструкциям в
ios-app/SETUP_GUIDE.md - Или прочитайте
ios-app/README.md
Быстрая установка:
- Распакуйте
freezer-ios-app.tar.gz - Создайте новый Xcode проект
- Добавьте файлы из
ios-app/FreezerApp
- ✅ Создание/редактирование/удаление категорий
- ✅ Выбор иконок (30+ эмодзи)
- ✅ Выбор цветов (8 предустановленных)
- ✅ Drag & drop для сортировки (web)
- ✅ Подсчет количества заготовок
- ✅ Добавление заготовок со всеми полями:
- Название
- Количество упаковок
- Количество штук
- Номер полки
- Дата заморозки
- Срок годности
- Заметки (опционально)
- Фото (опционально в web)
- ✅ Быстрое изменение количества (+/- кнопки)
- ✅ Индикатор срока годности (свежее/истекает/просрочено)
- ✅ Поиск по названию и заметкам
- ✅ Фильтрация по полке
- ✅ Редактирование/удаление (свайп в iOS)
src/
├── components/ # React компоненты
│ ├── CategoryList.tsx
│ ├── CategoryCard.tsx
│ ├── CategoryModal.tsx
│ ├── ItemList.tsx
│ ├── ItemRow.tsx
│ ├── ItemForm.tsx
│ └── ui/ # Radix UI компоненты
├── styles/
│ └── globals.css # Tailwind CSS
└── App.tsx # Главный компонент
Технологии:
- React 18 + TypeScript
- Vite (сборка)
- Tailwind CSS + Radix UI
- localStorage для хранения
FreezerApp/
├── App/
│ └── FreezerApp.swift
├── Core/
│ ├── Models/ # Category, Item
│ └── Repository/ # DataRepository (UserDefaults)
├── Features/
│ ├── Categories/
│ │ └── Views/
│ └── Items/
│ └── Views/
└── UI/
├── Components/ # Переиспользуемые компоненты
└── Theme/ # Цвета, шрифты, стили
Технологии:
- SwiftUI (iOS 16+)
- UserDefaults для хранения
- Codable для сериализации
- @StateObject / @EnvironmentObject
- ✅ Полностью рабочее приложение
- ✅ Адаптивный дизайн (mobile-first)
- ✅ Offline-режим (localStorage)
- ✅ PWA готовность
- ✅ Нативное SwiftUI приложение
- ✅ Все функции из спецификации
- ✅ iOS-style навигация и UI
- ✅ Локальное хранение (UserDefaults)
- ✅ Готово к запуску в Xcode
Дизайн вдохновлен iOS Human Interface Guidelines:
- Минималистичный и чистый UI
- Мягкая цветовая палитра
- Удобная типографика
- Интуитивная навигация
Исходный дизайн: Figma
- Backend (NestJS + PostgreSQL + Prisma)
- JWT аутентификация
- Синхронизация между устройствами
- Push-уведомления об истечении срока
- Загрузка фото на S3
- Android native app
- Telegram Mini-App
- Apple Watch app
- Экспорт/импорт данных
MIT License
# Web
npm run dev # Разработка
npm run build # Сборка
npm run preview # Просмотр production build
# iOS
# Откройте проект в Xcode и нажмите Cmd+R- Web App README - этот файл
- iOS App README - документация iOS
- iOS Setup Guide - инструкция по настройке
- Проблемы с запуском: проверьте версию Node.js (требуется 18+)
- Очистка кэша: удалите
node_modulesи запуститеnpm install
- Проблемы с Xcode: см. SETUP_GUIDE.md
- Требуется macOS + Xcode 15+
- Минимум iOS 16.0
Приятного использования! 🧊