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.
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
- 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.
**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
This app uses MVVM (Model View View-Model) architecture.
If you need any help, you can connect with me.