# adityavaste/jenkins architecture

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

- Interactive diagram: https://gitdiagram.com/adityavaste/jenkins
- Repository: https://github.com/adityavaste/jenkins

## Overview

Kalyani Finance is a public-facing finance advisory site for exploring loan and insurance offerings, using an EMI calculator, and contacting the business. The principal journey runs from browsing product information to calculating repayment estimates or submitting an enquiry. Additional branches provide company information and finance articles. The tree establishes the route and component areas; sampled code confirms the calculator behavior and contact API forwarding to Google Sheets. Wiring for unsampled pages and components is not asserted.

Main entry points: [`components/navbar.tsx`](https://github.com/adityavaste/jenkins/blob/main/components/navbar.tsx) (Site Navigation), [`app/loans/page.tsx`](https://github.com/adityavaste/jenkins/blob/main/app/loans/page.tsx) (Loan Catalog), [`app/insurance/page.tsx`](https://github.com/adityavaste/jenkins/blob/main/app/insurance/page.tsx) (Insurance Catalog), [`app/emi-calculator/page.tsx`](https://github.com/adityavaste/jenkins/blob/main/app/emi-calculator/page.tsx) (EMI Calculator Page)

## Diagram (Mermaid)

```mermaid
flowchart TD

subgraph group_discovery["Site Discovery"]
  node_navigation["Site Navigation<br/>[navbar.tsx]"]
  node_home["Home Page<br/>[page.tsx]"]
end

subgraph group_loans["Loan Products"]
  node_loan_catalog["Loan Catalog<br/>[page.tsx]"]
  node_loan_details["Loan Detail Pages"]
  node_loan_data["Loan Offer Data<br/>[loan-data.ts]"]
  node_loan_types["Loan Types Display<br/>[loan-types.tsx]"]
  node_loan_process["Loan Process<br/>[loan-process.tsx]"]
end

subgraph group_insurance["Insurance Products"]
  node_insurance_catalog["Insurance Catalog<br/>[page.tsx]"]
  node_insurance_products["Insurance Detail Pages"]
  node_insurance_types["Insurance Types Display"]
end

subgraph group_tools["Tools and Contact"]
  node_emi_route["EMI Calculator Page<br/>[page.tsx]"]
  node_emi_tool["EMI Calculator<br/>[emi-calculator.tsx]"]
  node_contact_page["Contact Page<br/>[page.tsx]"]
  node_contact_form["Contact Form"]
  node_contact_api["Contact Endpoint<br/>[route.ts]"]
  node_sheets["Google Sheets Web App"]
end

subgraph group_content["Company Content"]
  node_about["About Page<br/>[page.tsx]"]
  node_blog["Blog Listing<br/>[page.tsx]"]
  node_blog_list["Article Browser<br/>[blog-list.tsx]"]
end

node_visitor(("Visitor"))

node_visitor -->|"opens site"| node_navigation
node_navigation -->|"links to"| node_home
node_navigation -->|"links to"| node_loan_catalog
node_navigation -->|"links to"| node_insurance_catalog
node_navigation -->|"links to"| node_emi_route
node_navigation -->|"links to"| node_contact_page
node_visitor -->|"browses loans"| node_loan_catalog
node_visitor -->|"browses insurance"| node_insurance_catalog
node_visitor -->|"calculates EMI"| node_emi_route
node_visitor -->|"submits enquiry"| node_contact_page
node_visitor -->|"reads about"| node_about
node_visitor -->|"reads articles"| node_blog
node_emi_route -->|"renders"| node_emi_tool
node_contact_page -->|"renders"| node_contact_form
node_contact_form -->|"posts enquiry"| node_contact_api
node_contact_api -->|"forwards data"| node_sheets
node_blog -->|"renders"| node_blog_list
node_loan_catalog -->|"offers details"| node_loan_details
node_insurance_catalog -->|"offers details"| node_insurance_products

click node_navigation "https://github.com/adityavaste/jenkins/blob/main/components/navbar.tsx"
click node_home "https://github.com/adityavaste/jenkins/blob/main/app/page.tsx"
click node_loan_catalog "https://github.com/adityavaste/jenkins/blob/main/app/loans/page.tsx"
click node_loan_details "https://github.com/adityavaste/jenkins/tree/main/app/loans"
click node_loan_data "https://github.com/adityavaste/jenkins/blob/main/lib/loan-data.ts"
click node_loan_types "https://github.com/adityavaste/jenkins/blob/main/components/loans/loan-types.tsx"
click node_loan_process "https://github.com/adityavaste/jenkins/blob/main/components/loans/loan-process.tsx"
click node_insurance_catalog "https://github.com/adityavaste/jenkins/blob/main/app/insurance/page.tsx"
click node_insurance_products "https://github.com/adityavaste/jenkins/tree/main/app/insurance"
click node_insurance_types "https://github.com/adityavaste/jenkins/blob/main/components/insurance/insurance-types.tsx"
click node_emi_route "https://github.com/adityavaste/jenkins/blob/main/app/emi-calculator/page.tsx"
click node_emi_tool "https://github.com/adityavaste/jenkins/blob/main/components/emi-calculator/emi-calculator.tsx"
click node_contact_page "https://github.com/adityavaste/jenkins/blob/main/app/contact/page.tsx"
click node_contact_form "https://github.com/adityavaste/jenkins/blob/main/components/contact/contact-content.tsx"
click node_contact_api "https://github.com/adityavaste/jenkins/blob/main/app/api/contact/route.ts"
click node_about "https://github.com/adityavaste/jenkins/blob/main/app/about/page.tsx"
click node_blog "https://github.com/adityavaste/jenkins/blob/main/app/blog/page.tsx"
click node_blog_list "https://github.com/adityavaste/jenkins/blob/main/components/blog/blog-list.tsx"

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_navigation,node_home toneBlue
class node_loan_catalog,node_loan_details,node_loan_data,node_loan_types,node_loan_process toneAmber
class node_insurance_catalog,node_insurance_products,node_insurance_types toneMint
class node_emi_route,node_emi_tool,node_contact_page,node_contact_form,node_contact_api,node_sheets toneRose
class node_about,node_blog,node_blog_list,node_visitor toneIndigo
```

## Components

### Site Discovery

- [Site Navigation](https://github.com/adityavaste/jenkins/blob/main/components/navbar.tsx): `components/navbar.tsx`
- [Home Page](https://github.com/adityavaste/jenkins/blob/main/app/page.tsx): `app/page.tsx`

### Loan Products

- [Loan Catalog](https://github.com/adityavaste/jenkins/blob/main/app/loans/page.tsx): `app/loans/page.tsx`
- [Loan Detail Pages](https://github.com/adityavaste/jenkins/tree/main/app/loans): `app/loans`
- [Loan Offer Data](https://github.com/adityavaste/jenkins/blob/main/lib/loan-data.ts): `lib/loan-data.ts`
- [Loan Types Display](https://github.com/adityavaste/jenkins/blob/main/components/loans/loan-types.tsx): `components/loans/loan-types.tsx`
- [Loan Process](https://github.com/adityavaste/jenkins/blob/main/components/loans/loan-process.tsx): `components/loans/loan-process.tsx`

### Insurance Products

- [Insurance Catalog](https://github.com/adityavaste/jenkins/blob/main/app/insurance/page.tsx): `app/insurance/page.tsx`
- [Insurance Detail Pages](https://github.com/adityavaste/jenkins/tree/main/app/insurance): `app/insurance`
- [Insurance Types Display](https://github.com/adityavaste/jenkins/blob/main/components/insurance/insurance-types.tsx): `components/insurance/insurance-types.tsx`

### Tools and Contact

- [EMI Calculator Page](https://github.com/adityavaste/jenkins/blob/main/app/emi-calculator/page.tsx): `app/emi-calculator/page.tsx`
- [EMI Calculator](https://github.com/adityavaste/jenkins/blob/main/components/emi-calculator/emi-calculator.tsx): `components/emi-calculator/emi-calculator.tsx`
- [Contact Page](https://github.com/adityavaste/jenkins/blob/main/app/contact/page.tsx): `app/contact/page.tsx`
- [Contact Form](https://github.com/adityavaste/jenkins/blob/main/components/contact/contact-content.tsx): `components/contact/contact-content.tsx`
- [Contact Endpoint](https://github.com/adityavaste/jenkins/blob/main/app/api/contact/route.ts): `app/api/contact/route.ts`
- **Google Sheets Web App**

### Company Content

- [About Page](https://github.com/adityavaste/jenkins/blob/main/app/about/page.tsx): `app/about/page.tsx`
- [Blog Listing](https://github.com/adityavaste/jenkins/blob/main/app/blog/page.tsx): `app/blog/page.tsx`
- [Article Browser](https://github.com/adityavaste/jenkins/blob/main/components/blog/blog-list.tsx): `components/blog/blog-list.tsx`

### Other components

- **Visitor**

## Connections

- Visitor → Site Navigation: opens site
- Site Navigation → Home Page: links to
- Site Navigation → Loan Catalog: links to
- Site Navigation → Insurance Catalog: links to
- Site Navigation → EMI Calculator Page: links to
- Site Navigation → Contact Page: links to
- Visitor → Loan Catalog: browses loans
- Visitor → Insurance Catalog: browses insurance
- Visitor → EMI Calculator Page: calculates EMI
- Visitor → Contact Page: submits enquiry
- Visitor → About Page: reads about
- Visitor → Blog Listing: reads articles
- EMI Calculator Page → EMI Calculator: renders
- Contact Page → Contact Form: renders
- Contact Form → Contact Endpoint: posts enquiry
- Contact Endpoint → Google Sheets Web App: forwards data
- Blog Listing → Article Browser: renders
- Loan Catalog → Loan Detail Pages: offers details
- Insurance Catalog → Insurance Detail Pages: offers details
