Spikeysanju / Einsen

🎯 Einsen is a prioritization app that uses Eisenhower matrix technique as workflow to prioritize a list of tasks & built to Demonstrate use of Jetpack Compose with Modern Android Architecture Components & MVVM Architecture.
Apache License 2.0
911 stars 80 forks source link
android android-architecture android-development android-ui coroutines-flow datastore-android declarative-ui hacktoberfest hilt-android jetpack-android jetpack-compose kotlin kotlin-coroutines mvvm-android room-database room-persistence-library stateflow ui-components ui-toolkit

GitHub Cards Preview

Build (Android) GitHub license ktlint

GitHub stars GitHub stars GitHub stars GitHub follow Twitter Follow

🎯 Einsen

Einsen is a prioritization app that uses Eisenhower matrix technique as workflow to prioritize a list of tasks & built to Demonstrate use of Jetpack Compose with Modern Android Architecture Components & MVVM Architecture.

Try latest Einsen app apk from below πŸ‘‡

Einsen


🎨 UI Design

Click to View Einsen app Design from below πŸ‘‡

Einsen Figma Design Einsen FigJam Design


🌞 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


πŸ“¦ 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

This app uses MVVM (Model View View-Model) architecture.

🧰 Build-tool

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

Beta-studio


πŸ’¬ Frequently Asked Questions

When was project Einsen started? > 🎯 I started working on this idea 6 months before founding `Einsen app` (April 2021). The idea was exploring `mental models` + `productivity tips` to achieve your `goals`. I tried to test the idea with `Productivity` & `Time Management Trackers` . So I built `initial MVP`..
Where can I find the research process for Einsen app? > πŸ“ The biggest lesson I learned while designing this was that, I need to be `focused` & `working relentlessly` on the same project, to get the right flow of thought & complete it. Each `iteration` led to more `insights` on improving the design, `solving problems` for users. You can find the link for πŸ“ Design Process [here](https://www.figma.com/file/dbEZWjbmog9vYtsZx08fFM/Einsen) & 🎨 Figma Designs [here](https://www.figma.com/file/s0jhjixtXtOZmmIyHIN3Yy/Einsen?node-id=0%3A1)
What is the future goals of this project Einsen? > πŸ¦„ For each week I will be implementing some new cool features for this application. Here are some of the amazing features you will come to expect from this platform :point_down: - `Due Date` for each task - `Recurring task` - `Pomodoro timer` for each task - `Task Template` as per user preference - `Calendar` based task management - `Project management` - `Statistics` for completed task - Introducing new `mental model templates` like Eisenhower


🀝 Contribute

If you want to contribute to this app, you're always welcome! See Contributing Guidelines.


πŸ“© Contact

I know that first and foremost you are looking for a tool to solve your problems, but if you enjoy it that much, why not tell us? We would love to hear from you πŸ˜‰

DM me at πŸ‘‡


❀️ Show your Support

I love it when people use my tool and we’d love to make it even better. If you like this tool and want to support me in developing more free tools for you, I’d really appreciate a donation. Feel free to buy me a cup of coffee πŸ˜„. Thanks!

Buy Me A Coffee

Patron Link

PayPal Link



πŸ€— Credits


πŸ”– License

    Apache 2.0 License

    Copyright 2021 Spikey sanju

    Licensed under the Apache License, Version 2.0 (the "License");
    you may not use this file except in compliance with the License.
    You may obtain a copy of the License at

       http://www.apache.org/licenses/LICENSE-2.0

    Unless required by applicable law or agreed to in writing, software
    distributed under the License is distributed on an "AS IS" BASIS,
    WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
    See the License for the specific language governing permissions and
    limitations under the License.