Skip to content

Latest commit

 

History

History
52 lines (42 loc) · 4.75 KB

README.md

File metadata and controls

52 lines (42 loc) · 4.75 KB

The Goals App

The Goals App

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

Splash

Authentication

Normal User

Tech Stack.

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

Setup Requirements

  • 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 and CONSUMER_KEY

Getting Started

In order to get the app running yourself, you need to:

  1. Clone this project
  2. Import the project into Android Studio
  3. Connect your android device with USB or just start your emulator
  4. After the project has finished setting up it stuffs, click the run button

Support

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