Skip to content

v1tzor/TimePlanner

Folders and files

NameName
Last commit message
Last commit date

Latest commit

ย 

History

255 Commits
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 

Repository files navigation


TimePlanner logo

TimePlanner

Kotlin Android API Jetpack Compose License

Latest release GitHub stars GitHub forks
Total downloads Repository code size Contributors Repository views


TimePlanner application preview

Download ๐Ÿ“ฅ

Download from AppGallery Download from RuStore Get it on F-Droid

You can also download APK files from GitHub Releases.

Features โœจ

Timeline-based daily planning ๐Ÿ—“๏ธ

  • Create a separate schedule for every date.
  • Add tasks with exact start and end times.
  • Prevent overlapping tasks before they are saved.
  • Keep tasks without a fixed time in a dedicated inbox.
  • Convert an unscheduled task into a scheduled one when the time is known.
  • Move, edit, complete, and reorganize tasks throughout the day.

Templates and recurring tasks ๐Ÿ”

  • Create templates for frequently repeated activities.
  • Repeat by weekday, N-th weekday of a month, day of month, or annual date.
  • Generate upcoming schedules automatically.
  • Update or stop repeating templates.
  • Keep generated tasks linked to their source template until they are manually detached.
  • Skip generated occurrences that conflict with an existing task.

Notifications ๐Ÿ””

  • Notify before a task starts.
  • Notify at the start of a task.
  • Notify shortly before a task ends.
  • Show an ongoing notification while the current task is running.
  • Restore scheduled notifications after reboot, application update, time change, date change, timezone change, or exact-alarm permission changes.

Analytics ๐Ÿ“Š

  • Workload by week, month, half-year, or year.
  • Time distribution by category and subcategory.
  • Hourly workload.
  • Total task count and planned time.
  • Average daily load and average task duration.
  • Optional exclusion of individual tasks from statistics.

Personalization and accessibility ๐ŸŽจ

  • Material 3 interface built with Jetpack Compose.
  • Light, dark, and system theme modes.
  • Dynamic Color on supported devices.
  • Multiple built-in color schemes.
  • Compact and expanded task presentation.
  • Configurable duration presets.
  • Secure mode for sensitive content.
  • Home-screen widget powered by Jetpack Glance.

Backup and portability ๐Ÿ’พ

  • Export schedules, templates, categories, and unscheduled tasks.
  • Restore data from a backup file.
  • Clear application data or reset only settings.

Screenshots ๐Ÿ“ธ

TimePlanner screenshot 1 TimePlanner screenshot 2 TimePlanner screenshot 3
TimePlanner screenshot 4 TimePlanner screenshot 5 TimePlanner screenshot 6

Supported languages ๐ŸŒ

  • English ๐Ÿ‡ฌ๐Ÿ‡ง
  • Russian ๐Ÿ‡ท๐Ÿ‡บ
  • German ๐Ÿ‡ฉ๐Ÿ‡ช
  • Spanish ๐Ÿ‡ช๐Ÿ‡ธ
  • Persian ๐Ÿ‡ฎ๐Ÿ‡ท
  • French ๐Ÿ‡ซ๐Ÿ‡ท
  • Brazilian Portuguese ๐Ÿ‡ง๐Ÿ‡ท
  • Turkish ๐Ÿ‡น๐Ÿ‡ท
  • Vietnamese ๐Ÿ‡ป๐Ÿ‡ณ
  • Polish ๐Ÿ‡ต๐Ÿ‡ฑ
  • Italian ๐Ÿ‡ฎ๐Ÿ‡น
  • Chinese ๐Ÿ‡จ๐Ÿ‡ณ

Architecture ๐Ÿ—๏ธ

TimePlanner follows a multi-module Clean Architecture approach with feature-level isolation.

:app
โ”œโ”€โ”€ root navigation
โ”œโ”€โ”€ dependency graph
โ”œโ”€โ”€ Android receivers
โ”œโ”€โ”€ notification runtime
โ””โ”€โ”€ Glance widgets

:core
โ”œโ”€โ”€ :utils          architecture primitives, MVI contracts, date/time and notification helpers
โ”œโ”€โ”€ :domain         shared entities, repositories, managers and validation
โ”œโ”€โ”€ :data           Room databases, DAO, migrations and repository implementations
โ”œโ”€โ”€ :presentation   shared presentation models and mappers
โ””โ”€โ”€ :ui             Material 3 theme, design tokens and reusable Compose components

:features
โ”œโ”€โ”€ :home
โ”œโ”€โ”€ :overview
โ”œโ”€โ”€ :templates
โ”œโ”€โ”€ :editor
โ”œโ”€โ”€ :analytics
โ””โ”€โ”€ :settings

Each feature is split into two modules:

feature:api   public contracts, configuration and navigation API
feature:impl  UI, presentation, interactors, DI and internal navigation

The application uses a single MainActivity, Decompose for navigation, Dagger for dependency injection, and an MVI-based presentation layer built around state, events, actions, effects, inputs, and outputs.

Technology stack ๐Ÿš€

Area Technology
Language Kotlin
UI Jetpack Compose, Material 3
Architecture Clean Architecture, MVI, multi-module feature isolation
Navigation Decompose, Essenty
Dependency injection Dagger 2 with KSP
Asynchronous work Kotlin Coroutines and Flow
Persistence Room with KSP
Serialization Kotlin Serialization
Widgets Jetpack Glance
Charts Charty, Compose Charts
Debugging LeakCanary

Current project baseline:

  • Minimum Android version: API 24.
  • Compile and target SDK: 36.
  • JVM target: 17.
  • Gradle: 8.13.
  • Android Gradle Plugin: 8.12.1.

Build variants ๐Ÿงฑ

Flavor Purpose
fdroid Clean open-source build without store analytics
rustore RuStore distribution build
huawei AppGallery distribution build

The release build enables code shrinking, resource shrinking, ProGuard/R8 rules, and signing configuration.

Build from source ๐Ÿ› ๏ธ

Requirements โœ…

  • Android Studio with support for the project's Android Gradle Plugin.
  • JDK 17.
  • Android SDK 36.

Local properties ๐Ÿ”

The application module uses an explicit signing configuration for both debug and release builds. Add the following values to your local local.properties file:

storeFile=/absolute/path/to/your.keystore
storePassword=your_store_password
keyAlias=your_key_alias
keyPassword=your_key_password

The rustore and huawei variants additionally expect exceptions tracing credentials. The fdroid variant does not include those store integrations.

Steps โ–ถ๏ธ

git clone https://github.com/v1tzor/TimePlanner.git
cd TimePlanner
./gradlew assembleFdroidDebug

Alternatively, open the project in Android Studio, select the desired flavor and build type, then run the app configuration.

Project diagrams ๐Ÿ—บ๏ธ

Standard feature structure ๐Ÿ“

TimePlanner feature structure

MVI flow ๐Ÿ”„

TimePlanner MVI flow

TimePlanner MVI architecture

Support development โค๏ธ

TimePlanner is an independent open-source project. You can support its continued development through the donation page below.

Direct cryptocurrency addresses
USDT(ERC20): 0xbA08E4905B3d52f480419A8444C4de3E91BC98df
BTC:         bc1qu0a5ujldf8rpc8yz8atlgphrj9wutgfxw82dql
ETH:         0x4cAfa6De0D1968cA8C2a7aB06CE28d0A1aD2C7b9
TRX:         TKC3NsKSS9hJRvofeJKceT5wC2bqTkPRUE
LTC:         ltc1qj9fsz4pxrvr3eqyel4q8jnsnfpcfwdsj3mvpec
XEC:         ecash:qqc0k95nfhkseel9p4avz5jwk6s4vum7rceegten5x
BNB/BTCB:    0xbA08E4905B3d52f480419A8444C4de3E91BC98df

Sponsors โœจ

Thank you to everyone who supports the project.

serrq

License ๐Ÿ“„

Copyright 2026 Stanislav Aleshin

Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.
You may obtain a copy of the License at

http://www.apache.org/licenses/LICENSE-2.0

Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
limitations under the License.