Smart Task Manager is an Android productivity app built with Kotlin and Jetpack Compose. It helps users organize tasks, track deadlines, manage reminders, handle subtasks, and improve productivity through a clean and modern interface.
This application was developed as a Semester Project to demonstrate core Android development concepts such as:
- Jetpack Compose UI
- Room Database
- ViewModel & State Management
- WorkManager Background Jobs
- Notifications
- Coroutines
- Navigation Compose
✅ Add Tasks
✅ Edit Tasks
✅ Delete Tasks
✅ Mark Tasks as Completed or Pending
✅ Search Tasks
✅ Filter Tasks by Status
✅ Dashboard with Total, Completed, Pending, and Overdue Counts
✅ Due Date & Time Picker
✅ AM/PM Time Formatting
✅ Task Priority Levels
✅ Task Categories
✅ Recurring Tasks
✅ Subtasks / Checklist Support
✅ Overdue Task Highlighting
✅ Local Notifications for Tasks Due Within 1 Hour
✅ WorkManager-based Periodic Reminder Checks
✅ Notification Channel Support
✅ Android 13+ Notification Permission Handling
✅ Local Data Persistence using Room Database
✅ Coroutines for Database Operations
✅ Safe Fallback Migration for Development
| Technology | Usage |
|---|---|
| Kotlin | Main Programming Language |
| Jetpack Compose | UI Development |
| Material 3 | Modern UI Components |
| Room Database | Local Storage |
| WorkManager | Background Tasks |
| ViewModel | State Management |
| Coroutines | Async Programming |
| Navigation Compose | Screen Navigation |
| NotificationManager | Task Reminders |
app/src/main/java/com/example/smarttaskmanager/
│
├── MainActivity.kt
│
├── data/
│ ├── Task.kt
│ ├── SubTask.kt
│ ├── TaskDao.kt
│ ├── TaskDatabase.kt
│ └── TaskRepository.kt
│
├── notification/
│ └── NotificationHelper.kt
│
├── ui/
│ └── screens/
│ ├── TaskApp.kt
│ ├── TaskListScreen.kt
│ ├── AddEditTaskScreen.kt
│ └── DashboardScreen.kt
│
├── viewmodel/
│ └── TaskViewModel.kt
│
└── worker/
├── ReminderWorker.kt
└── ReminderScheduler.kt
Before running the project, make sure you have:
- Android Studio Hedgehog or newer
- Kotlin
- JDK 11+
- Android Emulator or Physical Device
- Minimum SDK 24+
git clone https://github.com/<your-github-username>/Smart-Task-Manager-App-Android-App.git
cd Smart-Task-Manager-App-Android-App- Open Android Studio
- Click Open
- Select the project folder
Wait for Gradle Sync to complete.
If required:
Click "Sync Now"
- Connect an Android device OR
- Start an Emulator
Then click:
Run ▶ button in Android Studio
.\gradlew assembleDebug.\gradlew installDebugThe reminder system works using WorkManager and Notifications:
- Each task stores its due date and time in milliseconds
ReminderSchedulerstarts a periodic WorkManager taskReminderWorkerchecks pending tasks in the database- If a task is due within 1 hour or less, a notification is triggered
- The task is marked as notified to prevent duplicate alerts
Planned improvements for future versions:
- Voice Input for Tasks
- Task Export / Import
- Calendar Integration
- Analytics Dashboard & Charts
- Backup & Restore
- Dark / Light Theme Toggle
- Smart Recurring Task Generation
Contributions, ideas, and suggestions are welcome.
- Fork the repository
- Create a new branch
git checkout -b feature-name- Commit your changes
git commit -m "Added new feature"- Push changes
git push origin feature-name- Open a Pull Request
This project is licensed under the MIT License.
See the LICENSE file for more details.
Akabir Abbas
BSCS Student — Semester Project
Course: Mobile App Development
Special thanks to:
- Android Developers Documentation
- Jetpack Compose Documentation
- Room Persistence Library
- WorkManager Documentation
- Material 3 Design System
- If you rename the repository, update the clone URL.
- Add screenshots to the
screenshots/folder and update image paths accordingly. - Ensure notification permission is enabled on Android 13+ devices.