feat: Refactor SearchResultsList component for improved loading and empty state handling
- Updated UI to use AnimatedVisibility for loading indicator and empty state message. - Enhanced user feedback with a centered loading spinner and message during search. - Improved layout and spacing for search results and user items. - Adjusted colors and sizes for better visual consistency. chore: Update gradle.properties to use new Java 17 path - Changed Java home path to reflect new installation location. docs: Add comprehensive README for project setup and development - Included quick start instructions, available emulators, technologies used, and useful commands. - Documented project structure and debugging tips. - Added license information and contact details for the development team. build: Add development scripts for quick rebuild and installation - Created dev.sh for fast rebuild and install without cleaning. - Added run.sh for a complete build and install process with emulator checks. - Introduced watch-dev.sh for automatic rebuild on file changes.
This commit is contained in:
181
README.md
Normal file
181
README.md
Normal file
@@ -0,0 +1,181 @@
|
||||
# 🚀 Rosetta Android
|
||||
|
||||
Безопасный мессенджер на базе криптографии для Android.
|
||||
|
||||
## ✅ Статус проекта
|
||||
|
||||
- ✅ Проект настроен и готов к разработке
|
||||
- ✅ Все зависимости установлены
|
||||
- ✅ Сборка проходит успешно
|
||||
- ✅ APK файлы генерируются корректно
|
||||
|
||||
## 🎯 Быстрый старт
|
||||
|
||||
### 🚀 Запуск одной командой:
|
||||
|
||||
```bash
|
||||
./run.sh
|
||||
```
|
||||
|
||||
Этот скрипт автоматически запустит эмулятор, соберет приложение, установит и запустит его.
|
||||
|
||||
### ⚡ Быстрая разработка (Hot Reload):
|
||||
|
||||
**Вариант 1: Ручная пересборка**
|
||||
|
||||
```bash
|
||||
./dev.sh
|
||||
```
|
||||
|
||||
Быстрая пересборка и установка без очистки проекта (~10-20 секунд)
|
||||
|
||||
**Вариант 2: Автоматическая пересборка**
|
||||
|
||||
```bash
|
||||
# Установите fswatch (один раз)
|
||||
brew install fswatch
|
||||
|
||||
# Запустите watch mode
|
||||
./watch-dev.sh
|
||||
```
|
||||
|
||||
После запуска скрипт будет автоматически:
|
||||
|
||||
- Отслеживать изменения в `.kt` файлах
|
||||
- Пересобирать проект
|
||||
- Устанавливать на эмулятор
|
||||
- Перезапускать приложение
|
||||
|
||||
💡 **Теперь просто редактируйте код и сохраняйте - изменения появятся на эмуляторе!**
|
||||
|
||||
### 🛠 Или вручную:
|
||||
|
||||
1. **Запустите эмулятор:**
|
||||
|
||||
```bash
|
||||
$ANDROID_HOME/emulator/emulator -avd Pixel_9_Pro_API_35 &
|
||||
```
|
||||
|
||||
2. **Соберите и установите:**
|
||||
|
||||
```bash
|
||||
./gradlew assembleDebug
|
||||
./gradlew installDebug
|
||||
```
|
||||
|
||||
3. **Запустите приложение:**
|
||||
```bash
|
||||
adb shell am start -n com.rosetta.messenger/.MainActivity
|
||||
```
|
||||
|
||||
### Через VS Code:
|
||||
|
||||
1. Нажмите `Cmd+Shift+P`
|
||||
2. Выберите "Tasks: Run Task"
|
||||
3. Выберите нужную задачу (например, "Build & Install on Device")
|
||||
|
||||
## 📱 Доступные эмуляторы
|
||||
|
||||
- Pixel_9_Pro_API_35 (рекомендуется)
|
||||
- Pixel_6_API_Baklava
|
||||
- Pixel_4_API_35
|
||||
- Pixel_2_API_35
|
||||
|
||||
## 🛠 Технологии
|
||||
|
||||
- **Язык:** Kotlin
|
||||
- **UI:** Jetpack Compose + Material3
|
||||
- **Навигация:** Navigation Component
|
||||
- **Хранилище:** Room Database + DataStore
|
||||
- **Безопасность:**
|
||||
- BitcoinJ для криптографии
|
||||
- Biometric Authentication
|
||||
- BouncyCastle для шифрования
|
||||
- **Анимации:** Lottie
|
||||
|
||||
## 📦 Сборка
|
||||
|
||||
```bash
|
||||
# Debug версия
|
||||
./gradlew assembleDebug
|
||||
|
||||
# Release версия
|
||||
./gradlew assembleRelease
|
||||
|
||||
# Очистка проекта
|
||||
./gradlew clean
|
||||
```
|
||||
|
||||
## 📖 Документация
|
||||
|
||||
Подробная документация находится в [DEVELOPMENT.md](./DEVELOPMENT.md)
|
||||
|
||||
## 🐛 Отладка
|
||||
|
||||
Просмотр логов:
|
||||
|
||||
```bash
|
||||
adb logcat | grep rosetta
|
||||
```
|
||||
|
||||
Или через VS Code Task: "View App Logs"
|
||||
|
||||
## 📂 Структура проекта
|
||||
|
||||
```
|
||||
app/src/main/
|
||||
├── java/com/rosetta/messenger/
|
||||
│ ├── MainActivity.kt # Главная активность
|
||||
│ ├── crypto/ # Криптография
|
||||
│ ├── data/ # Управление данными
|
||||
│ └── ui/ # UI компоненты
|
||||
│ ├── auth/ # Авторизация
|
||||
│ ├── chats/ # Чаты
|
||||
│ ├── onboarding/ # Онбординг
|
||||
│ └── theme/ # Тема
|
||||
├── res/ # Ресурсы
|
||||
└── AndroidManifest.xml # Манифест
|
||||
```
|
||||
|
||||
## 🔧 Полезные команды
|
||||
|
||||
```bash
|
||||
# Проверить подключенные устройства
|
||||
adb devices
|
||||
|
||||
# Удалить приложение
|
||||
adb uninstall com.rosetta.messenger
|
||||
|
||||
# Очистить данные приложения
|
||||
adb shell pm clear com.rosetta.messenger
|
||||
|
||||
# Остановить приложение
|
||||
adb shell am force-stop com.rosetta.messenger
|
||||
```
|
||||
|
||||
## ⚙️ Настройка VS Code
|
||||
|
||||
Расширения установлены автоматически:
|
||||
|
||||
- Kotlin Language (fwcd.kotlin)
|
||||
- Language Support for Java (redhat.java)
|
||||
- Gradle for Java (vscjava.vscode-gradle)
|
||||
|
||||
## 🎨 Особенности
|
||||
|
||||
- 🔐 Генерация seed-фразы (12/24 слова)
|
||||
- 🔑 Создание криптографических ключей
|
||||
- 🔒 Биометрическая аутентификация
|
||||
- 💾 Защищенное хранилище данных
|
||||
- 🎨 Современный UI с Material3
|
||||
- 🌙 Поддержка темной темы
|
||||
- ✨ Плавные анимации с Lottie
|
||||
|
||||
## 📝 Лицензия
|
||||
|
||||
MIT
|
||||
|
||||
---
|
||||
|
||||
**Разработка:** Rosetta Messenger Team
|
||||
**Контакт:** k1ngsterr1
|
||||
Reference in New Issue
Block a user