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
- 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.