190 lines
4.5 KiB
Markdown
190 lines
4.5 KiB
Markdown
# Новая Планета — Frontend (Android)
|
||
|
||
<div align="center">
|
||
<h3>Визуальное расписание для детей с РАС</h3>
|
||
<p>Мобильное приложение на Android с ИИ-помощником "Планета Земля"</p>
|
||
</div>
|
||
|
||
---
|
||
|
||
## 📱 О проекте
|
||
|
||
**Новая Планета** — 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<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
|
||
|
||
---
|
||
|
||
## 🧪 Тестирование
|
||
|
||
```bash
|
||
./gradlew test
|
||
./gradlew connectedAndroidTest
|
||
```
|
||
|
||
---
|
||
|
||
## 🔗 Репозиторий проекта
|
||
|
||
Основная ссылка:
|
||
|
||
👉 **Frontend Android:**
|
||
https://git.bro-js.ru/Glevel/New-planet
|
||
|
||
Backend/AI будут добавлены позже.
|
||
|
||
---
|
||
|
||
## 📄 Лицензия
|
||
|
||
MIT License
|
||
|
||
---
|
||
|
||
## 👥 Команда
|
||
|
||
Разработано с ❤️ командой **Новая Планета**
|