Skip to content

Erdenian/StudentAssistant

Repository files navigation

Student Assistant

Приложение для студентов и школьников, которое помогает организовать учебу: вести расписание занятий и отслеживать домашние задания. Простое, удобное и с открытым исходным кодом.

Доступно в Google Play


Основные функции

Расписание

  • Создание и редактирование расписания
  • Добавление занятий: предмет, преподаватель, аудитория, время
  • Гибкая настройка повторений (по дням недели, по датам, чередование недель)
  • Поддержка нескольких расписаний
  • Календарь для навигации по датам

Домашние задания

  • Добавление заданий к предметам
  • Указание дедлайна и описания
  • Статусы выполнения (актуальные, просроченные, выполненные)
  • Автоматическая привязка к предметам из расписания

Настройки

  • Установка времени начала первого занятия
  • Настройка длительности занятий и перерывов
  • Включение расширенного режима выбора недель

Технологический стек

  • Язык: 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

About

Приложение-помощник для студентов

Resources

Stars

Watchers

Forks

Contributors

Languages