Skip to content

Latest commit

 

History

History
123 lines (87 loc) · 2.92 KB

README-en.md

File metadata and controls

123 lines (87 loc) · 2.92 KB

中文 | English

Simple Todo

A to-do list management app developed using the latest Android technology stack.

Screenshots



Download Experience

Features

  • ✅ Basic Task Management

    • Add, edit, and delete tasks
    • Mark tasks as complete/incomplete
    • Task priority support (High, Medium, Low)
    • Task notes support
    • Bulk selection and deletion
  • 🏷️ Category Management

    • Custom task labels
    • Label color customization
    • Task filtering by labels
  • ⏰ Time Management

    • Set task due dates
    • Due date notifications
    • Automatic overdue task detection
  • 🔍 Search and Filter

    • Task search
    • Show/hide completed tasks
    • Multi-dimensional task filtering

Technical Architecture

  • UI: Jetpack Compose + Material 3
  • Architecture Pattern: MVVM
  • Dependency Injection: Hilt
  • Local Storage: Room
  • Background Tasks: WorkManager
  • Asynchronous Processing: Kotlin Coroutines + Flow

Project Structure

app/src/main/
├── java/com/example/simpletodo/
│ ├── data/ # Data layer
│ │ ├── local/ # Room database
│ │ ├── model/ # Data models
│ │ └── repository/ # Data repositories
│ ├── di/ # Dependency injection
│ ├── ui/ # UI layer
│ ├── worker/ # Background workers
│ ├── MainActivity.kt # Main activity
│ └── TodoApplication.kt # Application entry
└── res/ # Resources

Development Environment

  • Android Studio Hedgehog | 2023.1.1 or higher
  • JDK 17
  • Android SDK 34
  • Kotlin 1.9.0 or higher

Build and Run

  1. Clone the project

git clone https://github.com/VIPyinzhiwei/SimpleToDo.git

  1. Open the project in Android Studio

  2. Sync Gradle dependencies

  3. Run the application

Main Dependencies

  • Jetpack Compose: UI framework
  • Room: Local database
  • Hilt: Dependency injection
  • WorkManager: Background task scheduling
  • Material3: Material Design 3 components
  • Accompanist: System UI controller

License

Apache License 2.0

Contributing

Contributions via Issues and Pull Requests are welcome.

  1. Fork the project
  2. Create your feature branch
  3. Commit your changes
  4. Push to the branch
  5. Create a Pull Request

Contact

For questions or suggestions, feel free to: