# hetsuthar028/farming-app architecture

> Architecture diagram of the GitHub repository hetsuthar028/farming-app, generated by GitDiagram from its file tree, README and a sample of source files (last updated 2026-09-30). It is an AI-made overview: check details against the source.

- Interactive diagram: https://gitdiagram.com/hetsuthar028/farming-app
- Repository: https://github.com/hetsuthar028/farming-app

## Overview

Agri India is an Android app that brings farmer-focused services—market prices, weather, articles, government schemes, shopping, and community posting—into one mobile experience. The main user journey starts at sign-in, enters the dashboard, and navigates to these services; commerce continues from product selection through cart and payment. The graph preserves README-described capabilities even where implementation excerpts are unavailable. Solid edges reflect shown calls or navigation; dashed edges mark documented features whose internal wiring was not shown.

Main entry points: [`app/src/main/java/com/project/farmingapp/view/dashboard/DashboardActivity.kt`](https://github.com/hetsuthar028/farming-app/blob/master/app/src/main/java/com/project/farmingapp/view/dashboard/DashboardActivity.kt) (Dashboard), [`app/src/main/java/com/project/farmingapp/view/ecommerce/CartFragment.kt`](https://github.com/hetsuthar028/farming-app/blob/master/app/src/main/java/com/project/farmingapp/view/ecommerce/CartFragment.kt) (Shopping cart), [`app/src/main/java/com/project/farmingapp/view/socialmedia/SMCreatePostFragment.kt`](https://github.com/hetsuthar028/farming-app/blob/master/app/src/main/java/com/project/farmingapp/view/socialmedia/SMCreatePostFragment.kt) (Create post), [`app/src/main/java/com/project/farmingapp/view/weather/WeatherFragment.kt`](https://github.com/hetsuthar028/farming-app/blob/master/app/src/main/java/com/project/farmingapp/view/weather/WeatherFragment.kt) (Weather forecast)

## Diagram (Mermaid)

```mermaid
flowchart TD

subgraph group_account["Account and navigation"]
  node_login["Sign-in<br/>[LoginActivity.kt]"]
  node_dashboard["Dashboard"]
end

subgraph group_insights["Farm information"]
  node_apmc["APMC prices<br/>[ApmcFragment.kt]"]
  node_weather["Weather forecast<br/>[WeatherFragment.kt]"]
  node_yojna["Government schemes<br/>[YojnaFragment.kt]"]
end

subgraph group_commerce["Marketplace"]
  node_shop["Product browsing"]
  node_product["Product details"]
  node_cart["Shopping cart<br/>[CartFragment.kt]"]
  node_payment["Payment<br/>[PaymentFragment.kt]"]
  node_razorpay["Razorpay checkout"]
  node_orders["Order history"]
end

subgraph group_community["Community and reading"]
  node_articles["Article browsing"]
  node_articleview["Article details<br/>[FruitsFragment.kt]"]
  node_posts["Community feed"]
  node_createpost["Create post"]
  node_profile["User profile<br/>[UserFragment.kt]"]
end

subgraph group_services["Data and integrations"]
  node_weatherdata["Weather data<br/>[WeatherApi.kt]"]
  node_articlevm["Article data"]
  node_firebase[("Firebase services")]
  node_paymentservice["Payment provider"]
end

node_farmer(("Farmer"))

node_farmer -->|"signs in"| node_login
node_login -->|"opens after login"| node_dashboard
node_dashboard -->|"navigates"| node_apmc
node_dashboard -->|"navigates"| node_articles
node_dashboard -->|"navigates"| node_weather
node_dashboard -->|"navigates"| node_posts
node_dashboard -->|"navigates"| node_createpost
node_dashboard -->|"navigates"| node_profile
node_dashboard -.->|"navigates"| node_shop
node_dashboard -.->|"navigates"| node_yojna
node_weather -.->|"requests forecast"| node_weatherdata
node_articles -->|"opens detail"| node_articleview
node_articleview -->|"loads article"| node_articlevm
node_product -->|"adds item"| node_cart
node_cart -->|"starts checkout"| node_payment
node_payment -.->|"continues payment"| node_razorpay
node_createpost -->|"returns to feed"| node_posts
node_product -->|"writes cart item"| node_firebase
node_cart -->|"reads cart"| node_firebase
node_createpost -->|"uploads post"| node_firebase
node_weatherdata -.->|"uses external API"| node_firebase
node_razorpay -.->|"processes payment"| node_paymentservice
node_farmer -.->|"checks prices"| node_apmc
node_farmer -.->|"finds schemes"| node_yojna
node_farmer -.->|"reads articles"| node_articles
node_farmer -.->|"checks forecast"| node_weather
node_farmer -.->|"shops"| node_shop
node_farmer -.->|"joins community"| node_posts

click node_login "https://github.com/hetsuthar028/farming-app/blob/master/app/src/main/java/com/project/farmingapp/view/auth/LoginActivity.kt"
click node_dashboard "https://github.com/hetsuthar028/farming-app/blob/master/app/src/main/java/com/project/farmingapp/view/dashboard/DashboardActivity.kt"
click node_apmc "https://github.com/hetsuthar028/farming-app/blob/master/app/src/main/java/com/project/farmingapp/view/apmc/ApmcFragment.kt"
click node_weather "https://github.com/hetsuthar028/farming-app/blob/master/app/src/main/java/com/project/farmingapp/view/weather/WeatherFragment.kt"
click node_weatherdata "https://github.com/hetsuthar028/farming-app/blob/master/app/src/main/java/com/project/farmingapp/model/WeatherApi.kt"
click node_yojna "https://github.com/hetsuthar028/farming-app/blob/master/app/src/main/java/com/project/farmingapp/view/yojna/YojnaFragment.kt"
click node_articles "https://github.com/hetsuthar028/farming-app/blob/master/app/src/main/java/com/project/farmingapp/view/articles/ArticleListFragment.kt"
click node_articleview "https://github.com/hetsuthar028/farming-app/blob/master/app/src/main/java/com/project/farmingapp/view/articles/FruitsFragment.kt"
click node_articlevm "https://github.com/hetsuthar028/farming-app/blob/master/app/src/main/java/com/project/farmingapp/viewmodel/ArticleViewModel.kt"
click node_shop "https://github.com/hetsuthar028/farming-app/blob/master/app/src/main/java/com/project/farmingapp/view/ecommerce/EcommerceFragment.kt"
click node_product "https://github.com/hetsuthar028/farming-app/blob/master/app/src/main/java/com/project/farmingapp/view/ecommerce/EcommerceItemFragment.kt"
click node_cart "https://github.com/hetsuthar028/farming-app/blob/master/app/src/main/java/com/project/farmingapp/view/ecommerce/CartFragment.kt"
click node_payment "https://github.com/hetsuthar028/farming-app/blob/master/app/src/main/java/com/project/farmingapp/view/ecommerce/PaymentFragment.kt"
click node_razorpay "https://github.com/hetsuthar028/farming-app/blob/master/app/src/main/java/com/project/farmingapp/view/ecommerce/RazorPayActivity.kt"
click node_orders "https://github.com/hetsuthar028/farming-app/blob/master/app/src/main/java/com/project/farmingapp/view/ecommerce/MyOrdersFragment.kt"
click node_posts "https://github.com/hetsuthar028/farming-app/blob/master/app/src/main/java/com/project/farmingapp/view/socialmedia/SocialMediaPostsFragment.kt"
click node_createpost "https://github.com/hetsuthar028/farming-app/blob/master/app/src/main/java/com/project/farmingapp/view/socialmedia/SMCreatePostFragment.kt"
click node_profile "https://github.com/hetsuthar028/farming-app/blob/master/app/src/main/java/com/project/farmingapp/view/user/UserFragment.kt"

classDef toneNeutral fill:#f8fafc,stroke:#334155,stroke-width:1.5px,color:#0f172a
classDef toneBlue fill:#dbeafe,stroke:#2563eb,stroke-width:1.5px,color:#172554
classDef toneAmber fill:#fef3c7,stroke:#d97706,stroke-width:1.5px,color:#78350f
classDef toneMint fill:#dcfce7,stroke:#16a34a,stroke-width:1.5px,color:#14532d
classDef toneRose fill:#ffe4e6,stroke:#e11d48,stroke-width:1.5px,color:#881337
classDef toneIndigo fill:#e0e7ff,stroke:#4f46e5,stroke-width:1.5px,color:#312e81
classDef toneTeal fill:#ccfbf1,stroke:#0f766e,stroke-width:1.5px,color:#134e4a
class node_login,node_dashboard toneBlue
class node_apmc,node_weather,node_yojna toneAmber
class node_shop,node_product,node_cart,node_payment,node_razorpay,node_orders toneMint
class node_articles,node_articleview,node_posts,node_createpost,node_profile toneRose
class node_weatherdata,node_articlevm,node_firebase,node_paymentservice,node_farmer toneIndigo
```

## Components

### Account and navigation

- [Sign-in](https://github.com/hetsuthar028/farming-app/blob/master/app/src/main/java/com/project/farmingapp/view/auth/LoginActivity.kt): `app/src/main/java/com/project/farmingapp/view/auth/LoginActivity.kt`
- [Dashboard](https://github.com/hetsuthar028/farming-app/blob/master/app/src/main/java/com/project/farmingapp/view/dashboard/DashboardActivity.kt): `app/src/main/java/com/project/farmingapp/view/dashboard/DashboardActivity.kt`

### Farm information

- [APMC prices](https://github.com/hetsuthar028/farming-app/blob/master/app/src/main/java/com/project/farmingapp/view/apmc/ApmcFragment.kt): `app/src/main/java/com/project/farmingapp/view/apmc/ApmcFragment.kt`
- [Weather forecast](https://github.com/hetsuthar028/farming-app/blob/master/app/src/main/java/com/project/farmingapp/view/weather/WeatherFragment.kt): `app/src/main/java/com/project/farmingapp/view/weather/WeatherFragment.kt`
- [Government schemes](https://github.com/hetsuthar028/farming-app/blob/master/app/src/main/java/com/project/farmingapp/view/yojna/YojnaFragment.kt): `app/src/main/java/com/project/farmingapp/view/yojna/YojnaFragment.kt`

### Marketplace

- [Product browsing](https://github.com/hetsuthar028/farming-app/blob/master/app/src/main/java/com/project/farmingapp/view/ecommerce/EcommerceFragment.kt): `app/src/main/java/com/project/farmingapp/view/ecommerce/EcommerceFragment.kt`
- [Product details](https://github.com/hetsuthar028/farming-app/blob/master/app/src/main/java/com/project/farmingapp/view/ecommerce/EcommerceItemFragment.kt): `app/src/main/java/com/project/farmingapp/view/ecommerce/EcommerceItemFragment.kt`
- [Shopping cart](https://github.com/hetsuthar028/farming-app/blob/master/app/src/main/java/com/project/farmingapp/view/ecommerce/CartFragment.kt): `app/src/main/java/com/project/farmingapp/view/ecommerce/CartFragment.kt`
- [Payment](https://github.com/hetsuthar028/farming-app/blob/master/app/src/main/java/com/project/farmingapp/view/ecommerce/PaymentFragment.kt): `app/src/main/java/com/project/farmingapp/view/ecommerce/PaymentFragment.kt`
- [Razorpay checkout](https://github.com/hetsuthar028/farming-app/blob/master/app/src/main/java/com/project/farmingapp/view/ecommerce/RazorPayActivity.kt): `app/src/main/java/com/project/farmingapp/view/ecommerce/RazorPayActivity.kt`
- [Order history](https://github.com/hetsuthar028/farming-app/blob/master/app/src/main/java/com/project/farmingapp/view/ecommerce/MyOrdersFragment.kt): `app/src/main/java/com/project/farmingapp/view/ecommerce/MyOrdersFragment.kt`

### Community and reading

- [Article browsing](https://github.com/hetsuthar028/farming-app/blob/master/app/src/main/java/com/project/farmingapp/view/articles/ArticleListFragment.kt): `app/src/main/java/com/project/farmingapp/view/articles/ArticleListFragment.kt`
- [Article details](https://github.com/hetsuthar028/farming-app/blob/master/app/src/main/java/com/project/farmingapp/view/articles/FruitsFragment.kt): `app/src/main/java/com/project/farmingapp/view/articles/FruitsFragment.kt`
- [Community feed](https://github.com/hetsuthar028/farming-app/blob/master/app/src/main/java/com/project/farmingapp/view/socialmedia/SocialMediaPostsFragment.kt): `app/src/main/java/com/project/farmingapp/view/socialmedia/SocialMediaPostsFragment.kt`
- [Create post](https://github.com/hetsuthar028/farming-app/blob/master/app/src/main/java/com/project/farmingapp/view/socialmedia/SMCreatePostFragment.kt): `app/src/main/java/com/project/farmingapp/view/socialmedia/SMCreatePostFragment.kt`
- [User profile](https://github.com/hetsuthar028/farming-app/blob/master/app/src/main/java/com/project/farmingapp/view/user/UserFragment.kt): `app/src/main/java/com/project/farmingapp/view/user/UserFragment.kt`

### Data and integrations

- [Weather data](https://github.com/hetsuthar028/farming-app/blob/master/app/src/main/java/com/project/farmingapp/model/WeatherApi.kt): `app/src/main/java/com/project/farmingapp/model/WeatherApi.kt`
- [Article data](https://github.com/hetsuthar028/farming-app/blob/master/app/src/main/java/com/project/farmingapp/viewmodel/ArticleViewModel.kt): `app/src/main/java/com/project/farmingapp/viewmodel/ArticleViewModel.kt`
- **Firebase services**
- **Payment provider**

### Other components

- **Farmer**

## Connections

- Farmer → Sign-in: signs in (evidence: `app/src/main/java/com/project/farmingapp/view/auth/LoginActivity.kt`)
- Sign-in → Dashboard: opens after login (evidence: `app/src/main/java/com/project/farmingapp/view/auth/LoginActivity.kt`)
- Dashboard → APMC prices: navigates (evidence: `app/src/main/java/com/project/farmingapp/view/dashboard/DashboardActivity.kt`)
- Dashboard → Article browsing: navigates (evidence: `app/src/main/java/com/project/farmingapp/view/dashboard/DashboardActivity.kt`)
- Dashboard → Weather forecast: navigates (evidence: `app/src/main/java/com/project/farmingapp/view/dashboard/DashboardActivity.kt`)
- Dashboard → Community feed: navigates (evidence: `app/src/main/java/com/project/farmingapp/view/dashboard/DashboardActivity.kt`)
- Dashboard → Create post: navigates (evidence: `app/src/main/java/com/project/farmingapp/view/dashboard/DashboardActivity.kt`)
- Dashboard → User profile: navigates (evidence: `app/src/main/java/com/project/farmingapp/view/dashboard/DashboardActivity.kt`)
- Dashboard → Product browsing: navigates (evidence: `app/src/main/java/com/project/farmingapp/view/dashboard/DashboardActivity.kt`)
- Dashboard → Government schemes: navigates
- Weather forecast → Weather data: requests forecast (evidence: `app/src/main/java/com/project/farmingapp/view/weather/WeatherFragment.kt`)
- Article browsing → Article details: opens detail (evidence: `app/src/main/java/com/project/farmingapp/view/articles/ArticleListFragment.kt`)
- Article details → Article data: loads article (evidence: `app/src/main/java/com/project/farmingapp/view/articles/FruitsFragment.kt`)
- Product details → Shopping cart: adds item (evidence: `app/src/main/java/com/project/farmingapp/view/ecommerce/EcommerceItemFragment.kt`)
- Shopping cart → Payment: starts checkout (evidence: `app/src/main/java/com/project/farmingapp/view/ecommerce/CartFragment.kt`)
- Payment → Razorpay checkout: continues payment
- Create post → Community feed: returns to feed (evidence: `app/src/main/java/com/project/farmingapp/view/socialmedia/SMCreatePostFragment.kt`)
- Product details → Firebase services: writes cart item (evidence: `app/src/main/java/com/project/farmingapp/view/ecommerce/EcommerceItemFragment.kt`)
- Shopping cart → Firebase services: reads cart (evidence: `app/src/main/java/com/project/farmingapp/view/ecommerce/CartFragment.kt`)
- Create post → Firebase services: uploads post (evidence: `app/src/main/java/com/project/farmingapp/view/socialmedia/SMCreatePostFragment.kt`)
- Weather data → Firebase services: uses external API
- Razorpay checkout → Payment provider: processes payment
- Farmer → APMC prices: checks prices
- Farmer → Government schemes: finds schemes
- Farmer → Article browsing: reads articles
- Farmer → Weather forecast: checks forecast
- Farmer → Product browsing: shops
- Farmer → Community feed: joins community
