Skip to content

corey2120/My_Day

Repository files navigation

MyDay Android

Version Platform Min SDK Target SDK

A comprehensive task and life management application that combines tasks, calendar integration, and notes to help you navigate your day effectively. All your information is stored securely on your device.

Features

Task Management

  • Smart Task Lists - Create and organize multiple task lists with progress tracking
  • Task Priorities - Set and cycle through priority levels (None, Low, Medium, High)
  • Date-based Tasks - Schedule tasks for specific dates or mark as "Someday"
  • Voice Input - Add tasks using voice commands with AI interpretation
  • Task Editing - Rename, move, and delete tasks easily

Calendar Integration

  • Google Calendar Sync - Import events from your Google Calendar
  • Device Calendar Sync - Access and import local device calendar events
  • Calendar Events List - View imported calendar items as tasks

Notes

  • Regular Notes - Create and manage notes with customizable colors
  • Secure Notes - PIN-protected notes for sensitive information
  • Security Features - PIN management with security questions for recovery
  • Color Coding - 12 different color options for note organization

Dashboard

  • Daily Quote - Inspirational quotes to start your day
  • News Feed - Stay updated with customizable news categories
  • Weather - Current weather information
  • Greeting - Personalized time-based greetings
  • Calendar Overview - Quick view of upcoming events and tasks

AI Integration

  • Gemini AI - Natural language task creation
  • Smart Parsing - AI interprets voice input to create properly formatted tasks

Customization

  • Themes - Multiple theme options for personalized appearance
  • Dashboard Widgets - Toggle greeting, quote, news, and weather displays
  • News Categories - Choose news category preferences
  • Settings Management - Comprehensive settings for all features

Tech Stack

  • Language: Kotlin
  • UI Framework: Jetpack Compose
  • Architecture: MVVM
  • Dependency Injection: Hilt
  • Database: Room
  • Async: Kotlin Coroutines + Flow
  • Serialization: Kotlinx Serialization
  • AI: Google Gemini API

Requirements

  • Android Device: Android 7.0 (API 24) or higher
  • Build Tools: Android Studio (latest version recommended)
  • Java: JDK 17
  • Gradle: 8.13.0+ (included via wrapper)

Setup

1. Clone the repository

git clone https://github.com/corey2120/My_Day.git
cd My_Day

2. Configure API Keys

Create or edit local.properties in the project root:

sdk.dir=/path/to/android/sdk
GEMINI_API_KEY=your_gemini_api_key_here

Note: The app will build without the Gemini API key, but AI features won't function.

3. Build the project

./gradlew build

4. Install on device

# Connect Android device or start emulator
./gradlew installDebug

Or open the project in Android Studio and click Run.

Google Calendar Setup

To enable Google Calendar integration, see the Google Calendar Setup Guide.

Documentation

Comprehensive documentation is available in the docs/ folder:

Build Commands

# Clean build
./gradlew clean build

# Build debug APK
./gradlew assembleDebug

# Build release APK (requires keystore configuration)
./gradlew assembleRelease

# Run tests
./gradlew test

# Install on connected device
./gradlew installDebug

Project Structure

app/src/main/java/com/example/myday/
├── MainActivity.kt              # Main entry point
├── MainViewModel.kt             # Primary ViewModel
├── AppModule.kt                 # Hilt dependency injection
├── AppDatabase.kt               # Room database configuration
├── SettingsManager.kt           # DataStore preferences
├── GeminiService.kt             # AI integration
├── Task.kt, TaskDao.kt          # Task data models
├── Note.kt, NoteDao.kt          # Note data models
├── TaskList.kt, TaskListDao.kt  # Task list models
└── ui/theme/                    # Theme configuration

Contributing

This is a personal project and is still in active development. Suggestions and feedback are welcome.

Status

Work in Progress - This application is actively being developed with regular updates and new features being added.

Companion Application

A desktop version of MyDay is available for Linux systems. See the MyDay Desktop repository.

License

This project is private and not yet licensed for public use.

About

An App to help you navigate the day! Calender view, daily quote, News, Task status bar, Notes and Secure notes

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors