Alkatraz is an app that helps you to Reach your goals by managing your Habits .

Overview

Alkatraz - Build healthy habits for healthy life

Alkatraz is an app that helps you to Reach your goals by managing your Habits . It's makes your life more organize, controllable, more enjoyable and makes you feel better with making healthy habits by makes the habits small or tiny to be more discipline, and feel guilty free by making small reward after every achievement even if the achievement is small.

About

It uses firebase and HarperDB as it's backend. It uses Firebase Authentication for email based auth and Google auth, Firebase Crashlytics for crash reporting and HarperDB as its database.

  • Monitor your habits weekly
  • Track your habits daily
  • Remind you about your habits
  • Choose from different pre-definded habits
  • Create your custom habits
  • Motivate your self with amazing quotes

๐Ÿ“ธ Screenshots

Built With ๐Ÿ› 

  • Kotlin - First class and official programming language for Android development.
  • Clean Architecture
  • Coroutines - For asynchronous and more..
  • Android Architecture Components - Collection of libraries that help you design robust, testable, and maintainable apps.
    • ViewModel - Stores UI-related data that isn't destroyed on UI changes.
    • ViewBinding - Generates a binding class for each XML layout file present in that module and allows you to more easily write code that interacts with views.
    • DataBinding - Binds data directly into XML layouts
    • Room - Room is an android library which is an ORM which wraps android's native SQLite database
    • DataStore - Jetpack DataStore is a data storage solution that allows you to store key-value pairs or typed objects with protocol buffers.
  • Dependency Injection -
    • Hilt-Dagger - Standard library to incorporate Dagger dependency injection into an Android application.
    • Hilt-ViewModel - DI for injecting ViewModel.
  • Backend
    • Firebase
      • Firebase Auth - To support email based authentication and google authentication
      • Firebase Crashlytics - To report app crashes
    • HarperDB - HarperDB is a geo-distributed database with hybrid SQL & NoSQL functionality in one powerful tool, accessed via a REST API.
  • Retrofit - A type-safe HTTP client for Android and Java.
  • GSON - A modern JSON library for Kotlin and Java.
  • Moshi Converter - A Converter which uses Moshi for serialization to and from JSON.
  • Coil - An image loading library for Android backed by Kotlin Coroutines.
  • Material Components for Android - Modular and customizable Material Design UI components for Android.

Multi Module Package Structure

**api module**

api.java.com.trendster.harpic   # api Root Package
.
โ”œโ”€โ”€ models              # Model data classes for HarperDb and their relative classes
|   โ”œโ”€โ”€ postinfo        # HarperDB Api POST request header and relative info
โ”œโ”€โ”€ services            # Api and Client Files

**app module**

app.java.com.trendster.harpic   # app Root Package

โ”œโ”€โ”€ adapters            # All Adapters 
โ”œโ”€โ”€ data                # For data handling
โ”œโ”€โ”€ di                  # Dependency Injection / DI Modules           
โ”œโ”€โ”€ model               # Model data classes mapped from api model classes
โ”œโ”€โ”€ ui                  # UI/View layer       
โ”‚   โ”œโ”€โ”€ about           # About Activity
โ”‚   โ”œโ”€โ”€ dashboard       # Dashboard fragment
|   โ”œโ”€โ”€ explore         # Explore and Create Habit fragments
|   โ”œโ”€โ”€ profile         # Profile Fragment
โ”‚   โ””โ”€โ”€ quotes          # Quotes Fragment
โ”‚   โ””โ”€โ”€ user            # Usser Activity and its realted fragments 
โ”‚      โ””โ”€โ”€ login        # Login Fragment
โ”‚      โ””โ”€โ”€ signup       # Signup Fragment
โ”‚      โ””โ”€โ”€ start        # Start Fragment
โ””โ”€โ”€ util                # Utility Classes / Kotlin extensions / Constants/ diffUtils for recyclerViews
โ””โ”€โ”€ viewmodels          # Vewholder Classes 

Architecture

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

Contact

If you need any help, you can connect with me.

You might also like...
The SleepQualityTracker app - a demo app that helps you collect information about your sleep
The SleepQualityTracker app - a demo app that helps you collect information about your sleep

The SleepQualityTracker app is a demo app that helps you collect information about your sleep. This app builds on the SleepQualityTracker previous made, refactoring the code to make it more efficient so it will be easier to maintain and test

Money Manager app that helps you to add your daily small incomes and expenses and track them easily.
Money Manager app that helps you to add your daily small incomes and expenses and track them easily.

Simple Money Manager This app is a simple money manager app which helps you to add your daily small incomes and expenses and track them easily. Screen

Wiped is a wiping app that helps you to delete a file permanently from your device

Wiped Wiped is a wiping app that helps you to delete a file permanently from your device. How Is It Done? Did you know that when you delete a file in

Water tracker app helps you with daily reminder to drink water. This app is just a trial to test and improve my android development skills.
Water tracker app helps you with daily reminder to drink water. This app is just a trial to test and improve my android development skills.

๐Ÿš€ About Me I am a self-thaught developer learning web and android development. This app is just a trial to test and improve my android development sk

Oratio Library for Android Studio helps you simplify your Android TTS codes

Oratio Oratio is a library for Android Studio. This library is useful to a number of developers who are currently making apps using android TTS(Text-T

๐Ÿš€A powerful android clean architecture that helps you build your apps faster.
๐Ÿš€A powerful android clean architecture that helps you build your apps faster.

IMStudio ๐Ÿ“– Table of Contents Project Structure Convention RxJava Common Scripts Technical Stack Dependencies Library Architecture Case Study Authors

A simple xposed module that helps you use your AdGuard subscription in multiple devices

DualGuard A simple xposed module that helps you use your AdGuard subscription in multiple (3) devices. Monstor ahead! / ่ญฆๅ‘Š This is NOT a module that

CatatanKu-SimpleNoteApp - CatatanKu helps to create your notes. You can edit and delete notes too. All Changes in database is pushed to Firebase Realtime Database android-delicious Delicious Android is an Android app which helps you access and save bookmarks via Delicious. It's available over at Google Play.
android-delicious Delicious Android is an Android app which helps you access and save bookmarks via Delicious. It's available over at Google Play.

Delicious Android Delicious Android is an Android app which helps you access and save bookmarks via Delicious. It's available over at Google Play. Fea

Owner
Nishant Kumar
|-------------Android Developer -----------| ----------Kotlin----------||---------Java--------
Nishant Kumar
Loop Habit Tracker, a mobile app for creating and maintaining long-term positive habits

Loop is a mobile app that helps you create and maintain good habits, allowing you to achieve your long-term goals. Detailed graphs and statistics show you how your habits improved over time.

Alinson S. Xavier 5.8k Jan 7, 2023
Don't know what to do next? Don't worry, NEG or NotEnoughGoals will give you some help by giving you some goals to achieve to make skyblock less boring.

NotEnoughGoals Don't know what to do next? Don't worry, NEG or NotEnoughGoals will give you some help by giving you some goals to achieve to make skyb

UpFault 0 Dec 26, 2021
Math World is an Android Application specialized in mathematics, where the application includes some sections related to arithmetic, unit conversion, scientific math laws and constants, as well as some mathematical questions that need some intelligence to reach the solution.

Math World is an Android Application specialized in mathematics, where the application includes some sections related to arithmetic, unit conversion, scientific math laws and constants, as well as some mathematical questions that need some intelligence to reach the solution.

null 7 Mar 12, 2022
GOD - Goal of the day is the notes app which tracks your daily tasks, most important tasks & monthly goals

GOD - Goal of the day GOD - Goals of the day Problem Statement: People always face problems in finding their goals and keeping track over a period. Th

Shubham Jitiya 1 Jan 16, 2022
Android app that helps you keep track of the medical supplements you need to take and how you spend your days

Android app that helps you keep track of the medical supplements you need to take and how you spend your days, similar to a bullet journal. It also allows you to reflect on your day, week, year, etc.

Rachelle Hu 4 Nov 10, 2022
Easy app for managing your files without ads, respecting your privacy & security

Simple File Manager Can also be used for browsing root files and SD card content. You can easily rename, copy, move, delete and share anything you wis

Simple Mobile Tools 1.2k Dec 30, 2022
Task Timer - An android app that helps you to keep a track of how much time you spend on each task

Task Timer - An android app that helps you to keep a track of how much time you spend on each task

Hassan Al-Shammari 1 Feb 24, 2022
๐Ÿ“ฑ AppListManager (Android Library) makes managing application and activity lists easy.

AppListManager (Android Library) AppListManager is easy to use Android library, which minimizes developing time when working on application or activit

Rokas Jankunas 60 Dec 27, 2022
Synapse Moderation Bot - A bot for managing and moderating our community Discord server

Synapse Moderation Bot A bot for managing and moderating our community Discord server. Note This bot is not public. While you can host it on your own,

Synapse Technologies, LLC 1 Jul 16, 2022
Gradlee plugin for managing jekyll workflows

JEKYLL GRADLE PLUGIN Gradle plugin providing easy configuration and tasks for managing your jekyll projects via gradle. Supports running via native je

Martynas Petuลกka 2 Apr 23, 2022