Skip to content

Yadino is a ToDo app the use of Decompose and Clean-Architecture with Jetpack Compose by following Material-3 guidelines along with other MAD libraries such as Koin, Room Database, Coroutines etc for building Android Apps

License

Notifications You must be signed in to change notification settings

RahimMahmoudzadeh/Yadino

📝 Yadino

Static Badge Contributions Highly Welcome API Static Badge GitHub Repo stars GitHub forks

A modern, feature-rich To-Do & Routine Manager built with the latest Android technologies.
Manage your tasks, set alarms, and organize your day with a beautiful Material 3 UI.

Get it on Google Play Get it on Bazaar Get it on Myket


📖 Overview

Yadino is a powerful productivity application designed to help you stay organized. Built with a focus on Clean Architecture and Modern Android Development (MAD) practices, it leverages the full power of Jetpack Compose for the UI and Decompose for robust navigation.

Whether you need to jot down a quick note, set a recurring routine, or schedule a critical reminder, Yadino handles it with efficiency and style.

✨ Key Features

  • 📅 Routine Management: Create, update, and track your daily routines effortlessly.
  • 📝 Quick Notes: Capture thoughts on the go with a simple note-taking interface.
  • ⏰ Smart Alarms: Reliable notifications powered by AlarmManager to ensure you never miss a task.
  • 🎨 Material 3 Design: A stunning, adaptive UI that supports both Light and Dark themes.
  • 💾 Offline Capable: All data is persisted locally using Room Database.

📱 Screenshots

Home Screen Routine Screen Note Screen

🛠 Tech Stack & Libraries

Yadino is built with a strictly modern technology stack, focusing on scalability and performance.

Category Library Description
Language Kotlin First-class and official programming language for Android development.
UI Toolkit Jetpack Compose Android’s modern toolkit for building native UI using Material 3.
Navigation Decompose A Kotlin Multiplatform library for breaking down your code into lifecycle-aware components.
Dependency Injection Koin A pragmatic lightweight dependency injection framework for Kotlin.
Local Database Room The SQLite object mapping library that provides an abstraction layer over SQLite.
Concurrency Coroutines For managing background threads and asynchronous tasks.
Scheduling Alarm Manager Used to schedule precise alerts and notifications for user routines.

🏗 Architecture

This project follows Clean Architecture principles to separate concerns and ensure testability:

  1. UI Layer: Built with Jetpack Compose, driven by ViewModels/Components.
  2. Domain Layer: Contains business logic and UseCases.
  3. Data Layer: Handles data sources (Room DB) and repositories.

Navigation is handled by Decompose, treating screens as components with their own lifecycles, making the app highly modular.

🚀 Getting Started

To run this project locally, follow these steps:

  1. Clone the repository:
    git clone [https://github.com/RahimMahmoudzadeh/Yadino.git](https://github.com/RahimMahmoudzadeh/Yadino.git)
  2. Open in Android Studio: Open the project in the latest version of Android Studio (Koala or later recommended).
  3. Sync Gradle: Allow the project to sync dependencies.
  4. Run: Select your emulator or physical device and click Run.

🤝 Contribution

Contributions are highly welcome! If you have ideas for improvements or bug fixes:

  1. Fork the repository.
  2. Create your feature branch (git checkout -b feature/AmazingFeature).
  3. Commit your changes (git commit -m '#300 Add some AmazingFeature').
  4. Push to the branch (git push origin feature/AmazingFeature).
  5. Open a Pull Request.

📄 License

This project is licensed under the GPL-3.0 License - see the LICENSE file for details.


Made with ❤️ by Rahim Mahmoudzadeh

About

Yadino is a ToDo app the use of Decompose and Clean-Architecture with Jetpack Compose by following Material-3 guidelines along with other MAD libraries such as Koin, Room Database, Coroutines etc for building Android Apps

Topics

Resources

License

Code of conduct

Contributing

Stars

Watchers

Forks

Packages

No packages published

Languages