4.5 KiB
4.5 KiB
Новая Планета — 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)
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 (пример структуры)
interface BackendApi {
@POST("api/v1/auth/login")
suspend fun login(
@Body request: LoginRequest
): Response<LoginResponse>
@GET("api/v1/schedules")
suspend fun getSchedules(
@Header("Authorization") token: String
): Response<List<Schedule>>
@POST("api/v1/ai/chat")
suspend fun chatWithAI(
@Header("Authorization") token: String,
@Body request: ChatRequest
): Response<ChatResponse>
}
🎨 Accessibility (РАС)
Дизайн принципы
- Крупные кликабельные элементы (48dp+)
- Высокая контрастность (WCAG AAA)
- Чёткие простые иконки
- Цветовое кодирование состояний
- Плавные анимации без мигания
Контрастность
Светлая тема
- Фон: #FFFFFF, #F5F5F5
- Текст: #0A0A0A
- Акцент: #4CAF50, #FF6B35
Тёмная тема
- Фон: #0A0A0A
- Текст: #FFFFFF
- Акцент: #4CAF50, #FFD700
🧪 Тестирование
./gradlew test
./gradlew connectedAndroidTest
🔗 Репозиторий проекта
Основная ссылка:
👉 Frontend Android:
https://git.bro-js.ru/Glevel/New-planet
Backend/AI будут добавлены позже.
📄 Лицензия
MIT License
👥 Команда
Разработано с ❤️ командой Новая Планета