An Android app built with Kotlin, Which helps individuals to keep tracks of there daily activities.It is built with the MVVM pattern and the latest Jetpack components. Firebase as the backend
- Kotlin - Kotlin is a programming language that can run on JVM. Google has announced Kotlin as one of its officially supported programming languages in Android Studio; and the Android community is migrating at a pace from Java to Kotlin
- Android KTX - Provide concise, idiomatic Kotlin to Jetpack and Android platform APIs.
- AndroidX - Major improvement to the original Android Support Library, which is no longer maintained.
- Lifecycle - Perform actions in response to a change in the lifecycle status of another component, such as activities and fragments.
- Viewmodel -The ViewModel class is designed to store and manage UI-related data in a lifecycle conscious way
- LiveData - A lifecycle-aware data holder with the observer pattern
- Kotlin Coroutines - A concurrency design pattern that you can use on Android to simplify code that executes asynchronously.
- Kotlinx Coroutines - Library support for Kotlin coroutines with multiplatform support.
- View Binding - Allows you to bind UI components in your layouts to data sources in your app using a declarative format rather than programmatically.
- Hilt - A dependency injection library for Android that reduces the boilerplate of doing manual dependency injection in your project
- Navigation Components - Helps you implement navigation, from simple button clicks to more complex patterns, such as app bars and the navigation drawer.
- Material Libarary - Modular and customizable Material Design UI components for Android
- Timber- A logger with a small, extensible API which provides utility on top of Android's normal Log class.
- SafeApiCall Making safe Firebase network calls
- Firebase Functions - Cloud Functions for Firebase is a serverless framework that lets you automatically run backend code in response to events triggered by Firebase features and HTTPS requests.
- Firebase Database - Store and sync data with our NoSQL cloud database. Data is synced across all clients in realtime, and remains available when your app goes offline.
- Firebase Authentication - Firebase Authentication provides backend services, easy-to-use SDKs, and ready-made UI libraries to authenticate users to your app.
- Android device or emulator
- Android Studio
- Create your own Firebase project and replace the
google-services.json
with yours. - Also create an app in the Safaricom Developers portal and use your own
SECRET_KEY
andCONSUMER_KEY
In order to get the app running yourself, you need to:
- Clone this project
- Import the project into Android Studio
- Connect your android device with USB or just start your emulator
- After the project has finished setting up it stuffs, click the run button
- Found this project useful ❤️? Support by clicking the ⭐️ button on the upper right of this page. ✌️
- Notice anything else missing? File an issue
- Feel free to contribute in any way to the project from typos in docs to code review are all welcome.