Приложение для студентов и школьников, которое помогает организовать учебу: вести расписание занятий и отслеживать домашние задания. Простое, удобное и с открытым исходным кодом.
- Создание и редактирование расписания
- Добавление занятий: предмет, преподаватель, аудитория, время
- Гибкая настройка повторений (по дням недели, по датам, чередование недель)
- Поддержка нескольких расписаний
- Календарь для навигации по датам
- Добавление заданий к предметам
- Указание дедлайна и описания
- Статусы выполнения (актуальные, просроченные, выполненные)
- Автоматическая привязка к предметам из расписания
- Установка времени начала первого занятия
- Настройка длительности занятий и перерывов
- Включение расширенного режима выбора недель
- Язык: Kotlin
- UI: Jetpack Compose (Material 3)
- Архитектура: Single Activity, MVVM, Multi-module
- Навигация: AndroidX Navigation 3 (Type-safe)
- DI: Dagger 2 (включая Assisted Injection)
- База данных: Room (SQLite)
- Асинхронность: Coroutines & Flow
- Сборка: Gradle Kotlin DSL + Version Catalogs
Проект разработан с использованием модульной архитектуры, что обеспечивает гибкость и легкость поддержки.
app/ — Основной модуль приложения, связывание компонентов
features/
├── schedule/ — Экран расписания, редактор расписания
├── homework/ — Экран домашних заданий и их редактор
├── settings/ — Экран настроек
├── repository/ — Слой данных (Room Database, DAO, реализации репозиториев)
└── analytics/ — Абстракция аналитики и реализации (Firebase, Logcat)
core/
├── strings/ — Общие строковые ресурсы
└── style/ — Темизация (Material 3) и ресурсы дизайна
common/
├── navigation/ — Обертка над AndroidX Navigation 3
├── uikit/ — Общие UI компоненты (карточки, диалоги)
├── utils/ — Утилитарные классы и расширения
└── sampledata/ — Тестовые данные для Previews
