Нативная Android-реализация универсального органайзера с акцентом на плавность работы и Material Design! 🚀
PageBook - это нативное Android-приложение для работы со справочными материалами, заметками, задачами и календарем. Часть кроссплатформенного проекта PageBook, разрабатываемого нативно для обеих платформ.
📖 iOS версия: PageBook iOS
- Создание и редактирование с поддержкой форматирования 🎨
- Организация по категориям и тегам 🏷️
- Быстрый поиск и фильтрация
- To-do листы с приоритетами
- Напоминания и дедлайны
- Прогресс выполнения
- Ежедневное и недельное планирование
- Интеграция задач и событий
- Гибкие настройки отображения
- 💚 100% Kotlin - современный и выразительный код
- 🎨 Jetpack Compose - декларативный UI будущего
- 💾 Room Database - надежное локальное хранение
- 🔄 Coroutines & Flow - реактивное программирование
- 🗂️ Hilt - dependency injection
- 📐 Material Design 3 - современные UI компоненты
graph TD
A[UI Layer - Compose] --> B[ViewModel]
B --> C[Repository Layer]
C --> D[Local Data - Room]
C --> E[Remote Data - Future]
style A fill:#e1f5fe
style B fill:#f3e5f5
style C fill:#e8f5e8
- UI Layer: Jetpack Compose + ViewModel
- Domain Layer: Use Cases & Business Logic
- Data Layer: Repository pattern with Room
- Android Studio Hedgehog или новее
- Android SDK 34 (Android 14)
- Kotlin 1.9.0+
-
Клонируйте репозиторий
git clone https://github.com/MaxGog/PageBook-android.git cd PageBook-android -
Откройте в Android Studio
- File → Open → Выберите папку проекта
- Дождитесь завершения сборки зависимостей
-
Запустите приложение
- Подключите Android устройство или запустите эмулятор
- Нажмите
▶️ Run илиCtrl + R
app/
├── src/main/
│ ├── java/com/pagebook/
│ │ ├── ui/ # Compose UI компоненты
│ │ │ ├── screens/ # Экраны приложения
│ │ │ ├── components/ # Переиспользуемые UI компоненты
│ │ │ └── theme/ # Тема и стили Material Design
│ │ ├── repositories/ # Репозитории
│ │ ├── database/ # Room database и DAO
│ │ ├── models/ # Data модели
│ │ ├── models/ # Domain модели
│ │ └── utils/ # Утилиты и extensions
│ └── res/ # Ресурсы
│ ├── drawable/ # Иконки и изображения
│ └── values/ # Colors, strings, themes
| Модуль | Описание | Технологии |
|---|---|---|
| notes | Управление заметками 📝 | Compose, Room, ViewModel |
| tasks | To-do листы и задачи ✅ | Compose, StateFlow, Room |
| calendar | Планирование и события 🗓️ | Compose, Date Picker |
./gradlew assembleDebug./gradlew test./gradlew ktlintCheckМы рады контрибьюторам! Вот как вы можете помочь:
- Используйте Issues
- Опишите шаги для воспроизведения
- Укажите версию ОС и устройства
- Откройте Issue с меткой
enhancement - Опишите проблему и предлагаемое решение
- Форкните репозиторий
- Создайте feature branch (
git checkout -b feature/amazing-feature) - Сделайте коммит изменений (
git commit -m 'Add amazing feature') - Запушьте branch (
git push origin feature/amazing-feature) - Откройте Pull Request
Начните с задач, помеченных good first issue - они идеальны для новичков!
- Синхронизация с облаком ☁️
- Темная тема 🌙
- Виджеты для главного экрана 🏠
- Резервное копирование 💾
- Голосовые заметки 🎤
Этот проект распространяется под лицензией MIT. Подробнее см. в файле LICENSE.
MaxGog
- GitHub: @MaxGog
Есть вопросы или предложения? Не стесняйтесь:
- Создать Issue
- Написать в Discussions
⭐ Не забудьте поставить звезду репозиторию, если проект вам понравился!