Skip to content

samAricha/Organiks-Platform-Android

Repository files navigation

MealTime Plus Sign Gemini

Organiks

Organiks Platform combines Android + GEMINI AI(multi-modal) + Firebase(for Auth and Storage), Organiks is aimed at being the Digitizing tool and an Affordable Farmers Assistant for the Agricultural Sector which has been neglected in terms of Technology here in Africa.

Organiks is a story of two friends from Nakuru, Kenya in Africa with a Love for Agriculture; one a MicroBiologist and the other a Techie in love with Coding. Boys who small-scale farming had fed and schooled them.

When we heard of GEMINI AI API late last year(2023), we thought of ideas and ways that this AI could be used to lower the losses that farmers(just like their parents) incur due to loss of their poultry, animals and even plants to diseases. And that is when project 'Mkulima na Gemini' started brewing in our heads, why? because we could use Gemini LLM on our own without knowledge of AI or ML and bring all the advantages GEMINI has to offer to the farmers at almost no extra cost.

The Platform aims at being a Farmers Offline First tool to store their farm records even when offline and when they have access to Internet Connection they can backup their data(i.e Offline First) to the Cloud(i.e Firebase) also within the project.

In combination with Offline First Record Keeping, Organiks has implemented the Gemini AI LLM which acts as a farmers assistant, in two ways as a chat assistant and Data Analyst, whether they might have doubts whether their birds, animals or plants have been attacked by diseases inline with Googles promise of "A world responsibly empowered by AI".

🛠️ Prerequisites 🛠️

IDE

You can use Android Studio developed by Google.

For Gemini AI Assistant and Analyst.

Gemini Api Key

You can get your key here Google AI Studio and replace it in envVariables.properties file in this folder structure(change folder structure to Project from Android) envVariables.properties

You can get Gemini API Docs here Gemini API Docs

For Firebase.

Firebase

You can get your Web client secret here Firebase Console > authentication and replace it in res>values>strings.xml file

  • N:B ==> This is required for your authentication with Google in the app.

DEMOS

Here are 2 videos showing how the GEMINI section works:

Gemini Assistant Gemini Analyst
gemini_ai_video.mp4
gemini_analyst_2.mp4

Screenshots

Gemini

Screenshot 1 Screenshot 2 Screenshot 3 Screenshot 4 Screenshot 5

Firebase

Screenshot 1 Screenshot 2 Screenshot 3 Screenshot 4 Screenshot 5

Home

Screenshot 1 Screenshot 2

Record Keeping

Screenshot 1 Screenshot 2 Screenshot 3 Screenshot 4

OnBoarding

Screenshot 1 Screenshot 2 Screenshot 3

How It Works

Organiks is designed to be an offline-first tool for farmers, integrating advanced AI capabilities(from GEMINI) with user-friendly features. Below is a detailed breakdown of how each component of the app works:

1. Gemini AI Assistant

  • Chat Assistant: Provides farmers with instant advice on various farming queries.
  • Data Analyst: Analyzes farm data and suggests actionable insights to improve productivity.

2. Record Keeping

  • Offline-First: Farmers can record their data offline, and it will sync to the cloud when an internet connection is available.
  • Cloud Backup: Data is securely backed up using Firebase, ensuring that farmers never lose their valuable records.

3. User Authentication

  • Secure Login: Uses Firebase Authentication to provide secure access to the app.
  • Easy Setup: Users can quickly sign up and log in with their Google accounts.

4. Dashboard

  • Farm Statistics: Displays key metrics and trends in farming activities.
  • Customizable Views: Users can personalize their dashboard to focus on the data that matters most to them.

Architecture

MVVM Architecture.

  • Authentication:
    • The apps authentication is done with the support of Firebase.
  • Storage:
    • The app is offline-first using ROOM with capabilities to backup the data to cloud i.e Firebase.
  • GEMINI Assistant and Analyst:
    • The app also utilizes GEMINI AI API, with multi-modal, markdown and chat support for providing context to the farmers in-case of follow-up questions.

Built with

  • Android Framework - a set of software components that provide the foundation for building Android applications developed by Google.
  • Kotlin Language - A programming language that makes coding concise, cross-platform, and fun developed by JetBrains
  • Jetpack Compose - Android’s recommended modern toolkit for building native UI. It is an open-source Kotlin-based declarative UI framework for Android developed by Google.
  • Gemini AI - a multi-modal large language model(LLM) developed by Google DeepMind.
  • Firebase - An open source framework for building AI-powered apps with familiar code-centric patterns.
  • Ktor Client - a multiplatform asynchronous HTTP client, which allows you to make requests and handle responses.
  • ROOM DB - a library that provides an abstraction layer over SQLite to allow for more robust database access while harnessing the full power of SQLite.
  • Dagger Hilt - Kotlin Dependency Injection framework.
  • Kotlinx-datetime - KotlinX multiplatform date/time library.
  • Kotlinx-serilization - Kotlin multiplatform / multi-format serialization.

Run project

Android

To run the application on android device/emulator:

  • open project in Android Studio and run imported android run configuration

License

Copyright (c) 2024 Aricha Samson

    Permission is hereby granted, free of charge, to any person obtaining a copy
    of this software and associated documentation files (the "Software"), to deal
    in the Software without restriction, including without limitation the rights
    to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
    copies of the Software, and to permit persons to whom the Software is
    furnished to do so, subject to the following conditions:

    The above copyright notice and this permission notice shall be included in all
    copies or substantial portions of the Software.

    THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
    IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
    FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
    AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
    LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
    OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
    SOFTWARE.