Skip to content

AmrAshraf-git/Tudee

Β 
Β 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 

Repository files navigation

πŸ€– Tudee - Your Friendly Task Buddy

Too many tasks? Still forgetting things? Managing tasks feels boring?

Don't worry! Tudee is here to help!


πŸ“‹ Table of Contents


🌟 Overview

πŸ’‘ What is Tudee?

Tudee is a lightweight colorful task management app designed to make organizing your day feel easy and encouraging.

No sign-in required – just open the app and start planning your day instantly!

With its cheerful robot companion, Tudee gives you friendly reminders and motivational messages to help you stay productive and positive.

The app stores data locally using the Room database and ensures a seamless user experience with Jetpack Navigation 2. It adheres to SOLID principles and maintains a clean, modular architecture.

who_is_tudee

πŸš€ Features

Key features include:

  • 🧾Fully Offline app using Local storage no need to open the internet
  • 🎨 colorful and Smooth navigation
  • 🧾 Classify tasks by status: To Do / In Progress / Done
  • 🌐 Support for multiple languages (English and Arabic)
  • πŸŒ™ Dark mode and light mode support
  • πŸ€– Motivational messages from Tudee based on your task progress
  • πŸͺ„ No login required β€” just open and start working
  • πŸ—“ Full task management (create, view, edit, delete)

How does Tudee work?

When the user opens the app, they are immediately shown today’s tasks.

  • βœ… They can add a new task for today using the β€œ+” button.
  • πŸ“† To browse or manage tasks for other days, they can navigate to the β€œTasks” tab from the bottom navigation bar.
  • πŸ”„ In the Tasks tab, the user can:
    • View tasks grouped by day
    • Filter tasks by status:
      • To Do
      • In Progress
      • Done
    • Add a new task for the currently selected date

Each task is associated with:

  • πŸ“‚ A Category (e.g. Shopping, Cleaning, Worship, Family…)
  • πŸ“ A Title
  • πŸ“„ An optional Description
  • πŸ“… A Date
  • ⚠️ A Priority
  • 🏷️ A Category

πŸ”Ή Onboarding Screen

  • Appears only on the first launch.
  • Guides users through initial setup.

πŸ“Š Home Screen

  • Displays statistics about today’s tasks.
  • Shows task counts by status (To Do, In Progress, Done).

✏️ Task Creation

Users can create new tasks with:

  • Title
  • Description
  • Priority
  • Category
  • Due date

πŸ” Task Details

  • View full details of any task.
  • Update task status (To Do β†’ In Progress β†’ Done).

πŸ” Task Filtering

  • View all tasks based on a selected date.

πŸ—‚οΈ Category Management

  • Predefined categories (e.g., Work, Personal, Study).
  • Add custom categories with images from the device.
  • Edit or delete custom categories.

πŸŒ— Dark Mode & Light Mode

  • Switch between dark and light themes.

🌍 Localization

  • Automatically adapts to the device's language settings (English and Arabic).

πŸ“± Responsive UI

  • Supports various screen sizes and orientations.

πŸ—οΈ Architecture

  1. ViewModels

    • Each screen has its own ViewModel.
  2. Room Database

    • Stores task data locally.
    • Uses DAOs to interact with the database.
  3. Dependency Injection

    • Uses Koin for DI.
    • Ensures higher-level modules do not depend on lower-level ones.
  4. SOLID Principles

    • Adheres strictly to SOLID principles .
  5. Clean Architecture (Lightweight)

    • Maintains a simple architecture without over-engineering.
    • Includes only necessary components.

🧱 Tech Stack

Layer Technology
Language Kotlin
UI Toolkit Jetpack Compose
Local Storage Room Database
architecture MVVM
unit testing Junit 5 & Truth & Mock & Coroutine & Turbine
Dependency Injection Koin
Navigation Navigation Component

πŸ“Έ Screenshots

  • Home screen
  • Add Task
  • Task Screen
  • Category Screen
  • Add Category

πŸ”† Light Theme

Home Screen Add Task Task Screen Category Screen Add Category
home_screen add_task_screen task_screen category_screen new_category_screen

πŸŒ™ Dark Theme

Home Screen Add Task Task Screen Category Screen Add Category
home_screen_dark add_task_screen_dark task_screen_dark category_screen_dark add_category_screen_dark

▢️ Getting Started

Prerequisites

  • Android Studio 4.2+
  • JDK 11+
  • Gradle 7.0+

🀝 Contributing

We welcome contributions!
Whether you're a developer, designer, or just someone with a good idea β€” open an issue or send a pull request.


πŸ“„ License

Tudee is an open-source project licensed under the MIT License.
This project was created as part of The Chance training program, Developed by Berline Squad Feel free to use, learn from, and contribute to it.


About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • Kotlin 100.0%