Skip to content

🎯 Einsen is a prioritization app that uses Eisenhower matrix technique as workflow to prioritize a list of tasks.

License

Notifications You must be signed in to change notification settings

ujjwalbhattacharya07/Einsen

Β 
Β 

Repository files navigation

einsen_cover

🎯 Einsen

Einsen is a prioritization app that uses Eisenhower matrix technique as workflow to prioritize a list of tasks. Designed for students for effective task management in between their academics and co-curricular activities.

Try latest Einsen app apk from below πŸ‘‡

Einsen



🌞 Day Mode

Dashboard All Tasks Task Details
Add Task Emoji Empty State

🌚 We Support Dark Mode Too

Dashboard All Tasks Task Details
Add Task Emoji Empty State

πŸ›  Built With

  • Kotlin - First class and official programming language for Android development.
  • Android Architecture Components - Collection of libraries that help you design robust, testable, and maintainable apps.
    • Stateflow - StateFlow is a state-holder observable flow that emits the current and new state updates to its collectors.
    • Flow - A flow is an asynchronous version of a Sequence, a type of collection whose values are lazily produced.
    • ViewModel - Stores UI-related data that isn"t destroyed on UI changes.
    • Jetpack Compose Navigation - The Navigation component provides support for Jetpack Compose applications.
    • DataStore - Jetpack DataStore is a data storage solution that allows you to store key-value pairs or typed objects with protocol buffers. DataStore uses Kotlin coroutines and Flow to store data asynchronously, consistently, and transactionally.
  • Material Components for Android
    • Modular and customizable Material Design UI components for Android.
  • Accompanist
    • A collection of extension libraries for Jetpack Compose.
  • Figma - Figma is a vector graphics editor and prototyping tool which is primarily web-based.

πŸ“¦ Package Structure

dev.spikeysanju.einsen
β”œβ”€β”€ app                   # Application class
β”œβ”€β”€ components            # All resuable components for this app
β”œβ”€β”€ data                  # For data handling
β”‚   β”œβ”€β”€ local               # Local Persistence Database. Room (SQLite) database
β”‚   β”‚   β”œβ”€β”€ Dao               # Data Access Object for Room
β”‚   β”‚   └── Database          # Database Instance
β”‚   └── datastore
β”‚       └── ThemePref         # Datastore Theme Preference 
β”œβ”€β”€ di                        # Hilt DI Modules
β”œβ”€β”€ model                     # Model class for [Task] & [Emoji]
β”œβ”€β”€ navigation                # For navigation handling
β”‚   β”œβ”€β”€ Routes                # All unique navigation routes of this app
β”‚   └── NavGraph              # Single source for Navigation Routes of this app
β”œβ”€β”€ repository                # Used to handle all data operations
β”œβ”€β”€ ui.theme                  # Theme setup for this app
β”œβ”€β”€ utils                     # Extension functions
β”œβ”€β”€ view                      # All composables screens root folder
β”‚   β”œβ”€β”€ add                   # Add Task Screen
β”‚   β”œβ”€β”€ edit_task             # Edit Task Screen
β”‚   β”œβ”€β”€ dashboard             # Dashboard Screen
β”‚   β”œβ”€β”€ all_task              # All Task Screen
β”‚   β”œβ”€β”€ task_details          # Task Details Screen
β”‚   β”œβ”€β”€ emoji                 # Choose Emoji Screen
β”‚   β”œβ”€β”€ webview               # WebView Screen
β”‚   β”œβ”€β”€ animation             # Animation Placeholders for State handling(Loading, Error, Empty etc.)
β”‚   β”œβ”€β”€ about                 # About Screen
β”‚   └── viewmodel             # ViewModel 
└── MainActivity.kt           # MainActivity 


πŸ—Ό Architecture

ANDROID ROOM DB DIAGRAM

🧰 Build-tool

You need to have Android Studio Beta 3 (BumbleBee) or above to build this project.

Beta-studio


About

🎯 Einsen is a prioritization app that uses Eisenhower matrix technique as workflow to prioritize a list of tasks.

Resources

License

Code of conduct

Stars

Watchers

Forks

Packages

No packages published

Languages

  • Kotlin 100.0%