Skip to content

HekmatullahAmin/TaskMinder

Repository files navigation

TaskMinder

TaskMinder is a comprehensive to-do list application designed to help users manage tasks effectively while demonstrating modern Android development practices. Built with Jetpack Compose and powered by Firebase, it offers task creation, editing, prioritization, reminders, and more.

This app serves both as a productivity tool and a showcase of Android best practices, including clean architecture, robust exception handling, and a versatile theme system.

Features

Core Features

  • Task Management: Add, edit, delete, and manage tasks effortlessly.
  • Task Prioitization: Organize tasks by priority levels.
  • Due Dates: Assign deadlines to stay on track.
  • Reminders: Notify users about upcoming or overdue tasks.
  • Task Completion: Mark tasks as completed and maintain focus.

Modern UI

-Eight Themes: Offers four distinct color themes, each available in light and dark variations, providing a total of eight customizable themes for a personalized experience. -Seamless Navigation: Thoroughly tested navigation host ensures smooth transitions between screens.

Technologies Used

Development Stack

  • Kotlin: Modern programming language for building Android applications.
  • Jetpack Compose: Used to design and implement a highly responsive and modern UI.
  • Dagger Hilt: Manages dependency injection, promoting a clean and modular architecture.
  • Clean Architecture: Applied different layers for maintainability and scalability:
    • Data Layer: Manages API calls and Room database operations.
    • UI Layer: Renders the user interface and interacts with data through ViewModels. -Exception Handling: Ensures app stability by gracefully handling errors and unexpected conditions. -KDoc Documentation: Comprehensive documentation makes the codebase accessible to contributors and maintainers.

Firebase Services

  • Authentication: Secures user sign-ins.
  • Cloud Firestore: Stores and syncs tasks across devices.
  • Crashlytics: Identifies and reports app issues.
  • Performance Monitoring: Provides real-time performance insights.
  • Remote Config: Updates app settings remotely.

Contributing

We welcome contributions to enhance the functionality of TaskMinder! Whether it's fixing a bug, adding a new feature, or improving documentation, your help is appreciated.

To contribute:

  1. Fork the repository.
  2. Create a new branch (git checkout -b feature-YourFeature).
  3. Make your changes and commit them (git commit -am 'Add YourFeature').
  4. Push the branch to your fork (git push origin feature-YourFeature).
  5. Create a Pull Request. Feel free to open issues if you encounter any problems or have suggestions!

Documentation

The codebase is documented using KDoc, making it easier to understand the purpose and function of each class, method, and property. New contributors are encouraged to review the KDoc comments to get familiar with the structure of the project.

Screenshots

Video Demo

TaskMinder.mp4

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published