Skip to content

Latest commit

 

History

History
133 lines (109 loc) · 4.48 KB

README.md

File metadata and controls

133 lines (109 loc) · 4.48 KB

About

Intimo (spanish for Personal) serves as a personal Android client for intentional device management and productivity. Employing modern features and practices it provides a fluid and intuitive interface that feels great to use.

Motivation

After going through other solutions provided out there in the market, I couldn't find a single one of them that suited my requirements. Therefore, I embarked on a journey to create an app that was not only feature rich but also simple and uncluttered. That is when the notion of Intimo struck my mind.

Intimo is powerful and relies on a modern set of APIs to provide a seamless user experience. Some of the features that are already incorporated include:-

  1. Device usage dashboard
  2. Daily and weekly device usage aggregation
  3. Habit history
  4. Habit scheduling
  5. Habit goals

Some of the planned features include but not limited to:-

  1. Device usage limiting
  2. Dedicated device and habit widgets
  3. Cloud backup.

Installation

You can get the app directly from Playstore

To install the app directly from GitHub, the app depends on Kotlin compiler version 1.9.0, grade version 8.0.0 and compose compiler version 1.5.0.

  1. First clone the repository onto your local machine.
  2. Perform a Gradle sync to download all the dependencies.
  3. Run the app and enjoy.

Tech stack

Intimo relies heavily on the Jetpack suite of libraries by google. The UI is created using Jetpack Compose.

Architecture

The app employs the Recommended Architecture to achieve robustness and clear separation of concerns.

The app is separated into the following layers:-

Modules

Module Purpose
:app Serves as the entry point
:core:designsystem Contains all things design
:core:util Contains all utilities eg String extension functions
:core:ui Contains common ui components
:core:data Combines all the data from the various sources
:core:database Contains database implementations
:core:datastore Contains data from the datastore prefs
:core:local Contains data from disk eg. usage statistics
:core:model Contains all data model definitions
:feauture:onboarding Onboarding logic on setup
:feature:summary Dashboard data on home screen
:feature:habit Habit logic implementation
:feature:settings User preferences
:feature:usage_stats Device usage statistics implementation

Interface

### State of things The app is in constant development hence new features are added regularly.

Any feedback is welcome through: [email protected]