# Новая Планета — Frontend (Android)

Визуальное расписание для детей с РАС

Мобильное приложение на Android с ИИ-помощником "Планета Земля"

--- ## 📱 О проекте **Новая Планета** — Android-приложение, помогающее детям с расстройством аутистического спектра (РАС) через визуальные инструменты, расписания и систему наград. ### Основные возможности - 📅 **Визуальное расписание**: день/неделя с карточками действий - ⏱️ **Визуальный таймер**: круговой таймер с цветовой индикацией - 🎁 **Система наград**: поощрения за выполненные задания - 🌍 **ИИ-агент “Земля”**: ответы и генерация расписаний - 📚 **Библиотека изображений**: загрузка картинок - 👨‍👩‍👧 **Роли**: ребёнок, родитель, педагог --- ## 🛠️ Tech Stack ### Core - **Kotlin** 1.9+ - **Jetpack Compose** - **Material Design 3** - **Coroutines + Flow** ### Architecture - **Clean Architecture**: Domain / Data / UI - **MVVM** - **Offline-first через Room** ### Libraries - Room - Retrofit - OkHttp - Kotlinx Serialization - Navigation Component - Koin/Hilt - Coil - Lottie --- ## 📂 Структура проекта ``` new-planet-android/ ├── app/ │ └── src/main/java/com/novayaplaneta/ │ ├── MainActivity.kt │ ├── di/ │ ├── ui/ │ │ ├── screens/ │ │ │ ├── schedule/ │ │ │ ├── task/ │ │ │ ├── timer/ │ │ │ ├── rewards/ │ │ │ ├── ai/ │ │ │ └── settings/ │ │ ├── components/ │ │ └── theme/ │ ├── domain/ │ │ ├── model/ │ │ ├── repository/ │ │ └── usecase/ │ └── data/ │ ├── local/ │ ├── remote/ │ └── repository/ │ ├── build.gradle.kts ├── README.md └── CLAUDE.md ``` --- ## 🚀 Быстрый старт ### Требования - Android Studio Hedgehog+ - JDK 17+ - Android SDK 34+ - Kotlin 1.9+ ### Установка (после генерации проекта в Cursor) ```bash git clone https://git.bro-js.ru/Glevel/New-planet.git cd New-planet ./gradlew build ./gradlew installDebug ``` ### Настройка среды ``` # local.properties sdk.dir=/path/to/Android/Sdk BACKEND_BASE_URL=https://api.novayaplaneta.ru ``` --- ## 🔌 Retrofit API (пример структуры) ```kotlin interface BackendApi { @POST("api/v1/auth/login") suspend fun login( @Body request: LoginRequest ): Response @GET("api/v1/schedules") suspend fun getSchedules( @Header("Authorization") token: String ): Response> @POST("api/v1/ai/chat") suspend fun chatWithAI( @Header("Authorization") token: String, @Body request: ChatRequest ): Response } ``` --- ## 🎨 Accessibility (РАС) ### Дизайн принципы - Крупные кликабельные элементы (48dp+) - Высокая контрастность (WCAG AAA) - Чёткие простые иконки - Цветовое кодирование состояний - Плавные анимации без мигания ### Контрастность **Светлая тема** - Фон: #FFFFFF, #F5F5F5 - Текст: #0A0A0A - Акцент: #4CAF50, #FF6B35 **Тёмная тема** - Фон: #0A0A0A - Текст: #FFFFFF - Акцент: #4CAF50, #FFD700 --- ## 🧪 Тестирование ```bash ./gradlew test ./gradlew connectedAndroidTest ``` --- ## 🔗 Репозиторий проекта Основная ссылка: 👉 **Frontend Android:** https://git.bro-js.ru/Glevel/New-planet Backend/AI будут добавлены позже. --- ## 📄 Лицензия MIT License --- ## 👥 Команда Разработано с ❤️ командой **Новая Планета**