|
Some checks are pending
Backend CI / test (push) Waiting to run
Backend CI / build (push) Blocked by required conditions
Web App CI / test (push) Waiting to run
Web App CI / build (push) Blocked by required conditions
Deploy Admin Panel / Deploy Admin Panel (push) Waiting to run
Deploy Admin Panel / Admin Panel Verification (push) Blocked by required conditions
Deploy Mnemo Cards / Deploy Backend (push) Waiting to run
Deploy Mnemo Cards / Deploy Web App (push) Blocked by required conditions
Deploy Mnemo Cards / Final Verification (push) Blocked by required conditions
|
||
|---|---|---|
| .. | ||
| .cursor/rules | ||
| .vscode | ||
| deploy | ||
| fonts | ||
| icons | ||
| lib | ||
| packages/yx/city-services-pub | ||
| test | ||
| web | ||
| .dockerignore | ||
| .gitignore | ||
| .metadata | ||
| analysis_options.yaml | ||
| codegen.sh | ||
| cursor_agent_loop.sh | ||
| deploy.sh | ||
| deployment.tar.gz | ||
| Dockerfile | ||
| nginx.conf | ||
| open_api.yaml | ||
| project_config.md | ||
| pubspec.lock | ||
| pubspec.yaml | ||
| QUICK_START.md | ||
| README.md | ||
| setup_ssh.sh | ||
mnemo_cards_web_v2
Flutter web приложение для изучения языков с использованием yx_scope и yx_state.
🏗️ Архитектура
Скоупы (yx_scope):
- AppScope - корневой скоуп (роутер, аналитика, авторизация)
- UserScope - пользовательский скоуп (темы, игры, статистика)
State Management (yx_state):
ThemeStateManager- управление темойUserStateManager- состояние пользователя (гость/авторизован)PacksStateManager- состояние тем/карточекGamesStateManager- состояние игр
🚀 Быстрый старт
Установка зависимостей:
flutter pub get
Генерация кода (freezed):
flutter pub run build_runner build --delete-conflicting-outputs
Запуск приложения:
flutter run -d chrome
📁 Структура проекта
lib/
├── di/ # Dependency Injection (yx_scope)
│ ├── app_scope/ # AppScope
│ └── user_scope/ # UserScope
├── domain/ # Бизнес-логика
│ ├── services/ # Сервисы
│ └── state/ # State Managers
├── presentation/ # UI слой
│ ├── pages/ # Страницы
│ ├── widgets/ # Виджеты
│ ├── router/ # Роутинг
│ └── theme/ # Темы
├── app.dart # Главный виджет
└── main.dart # Точка входа
🎯 Основные функции
- ✅ Авторизация через Google и Telegram
- ✅ Гостевой режим
- ✅ 3 вкладки: Темы, Игры, Профиль
- ✅ Светлая/темная тема
- 🚧 Изучение карточек (TODO)
- 🚧 Мини-игры (TODO)
- 🚧 Статистика (TODO)
📚 Технологии
- Flutter Web
- yx_scope / yx_state - DI и state management
- go_router - роутинг
- Firebase - аналитика, авторизация
- freezed - code generation
- dio - HTTP клиент
📖 Документация
См. PLAN.md для детального плана разработки.
🔧 Настройка Firebase
- Установите Firebase CLI:
npm install -g firebase-tools
- Настройте Firebase проект:
firebase login
flutterfire configure
- Это обновит
lib/firebase_options.dartс правильными конфигурациями.
⚠️ Важные примечания
- Web Only: Этот проект предназначен ТОЛЬКО для web платформы
- UserScope создается сразу при запуске (для гостевого режима)
- При logout UserScope НЕ удаляется, только меняется состояние
- Используйте
flutter pub run build_runner watchдля автоматической генерации кода
📝 TODO
См. текущие задачи в PLAN.md раздел "Этапы разработки".