Skip to content

SimformSolutionsPvtLtd/budget-lens-frontend

Repository files navigation

BudgetLens — AI for Better Governance

BudgetLens is an AI-powered budget analysis platform that enables government officials, auditors, and citizens to query, visualize, and understand public budgets through natural language. Built with Angular 21, Angular Material 21, and Angular Signals.


Core Features

AI Chat Interface

Ask questions about budgets, audits, departments, and governance in plain language. The AI responds with rich, structured answers including charts, tables, department rankings, audit insights, and procurement analysis — all sourced from uploaded budget documents.

Document Upload

Upload budget PDFs and financial reports. The system parses and indexes them, making their contents instantly queryable through the chat interface.

Budget Dashboard

Interactive visual overview of budget allocations across departments and sectors, year-over-year comparisons, top allocation charts, and key metrics — all in one glance.

Multi-language Support

Chat queries and responses support multiple languages, making the platform accessible to a broader audience.

Dark Mode

Full dark mode support across the entire application.

Role-Based Access Control

  • Admin: can upload documents and manage users
  • User: can query the AI and view the budget dashboard

Screenshots

Sign In

Sign In

Create Account

Create Account

AI Chat — New Conversation

New Chat

AI Chat — Query Results

Chat Query

AI Chat — Detailed Query

Chat Query Detail

AI Chat — Multi-language Support

Multi-language Chat

Budget Dashboard

Budget Dashboard

Document Upload

Document Upload

User Management

User Management

Dark Mode

Dark Mode


Tech Stack

Layer Technology Version
Framework Angular (standalone components) 21.2.x
UI Components Angular Material + CDK 21.2.x
Charts Chart.js 4.5.x
State Angular Signals + RxJS — / 7.8.x
Auth JWT with functional guards and interceptors
Change Detection OnPush everywhere
Language TypeScript 5.9
Styling SCSS with BEM conventions
Testing Jasmine / Karma (≥ 80% coverage target) 5.6.x / 6.4.x
Linting ESLint + Prettier 10.x / 3.x
Git hooks Husky + lint-staged 9.x / 16.x
Runtime Zone.js 0.15.x

Getting Started

Prerequisites

  • Node.js 20+
  • Angular CLI 21 (npm install -g @angular/cli@21)

Install dependencies

npm install

Run development server

npm start

Open http://localhost:4200/ in your browser. The app reloads automatically on file changes.

Build for production

npm run build:prod

Artifacts are output to the dist/ directory.


Available Scripts

Script Description
npm start Serve with default config
npm run start:dev Serve with development config
npm run start:staging Serve with staging config
npm run build Development build
npm run build:prod Production build
npm run build:staging Staging build
npm run watch Watch build (development)
npm run test Unit tests (watch mode)
npm run test:coverage Tests with coverage report
npm run test:ci Headless single-run tests for CI
npm run lint ESLint check
npm run lint:fix ESLint auto-fix
npm run format Prettier format all sources
npm run format:check Prettier format check (no writes)
npm run docs:update Re-scan project and update CLAUDE.md

Project Structure

src/
├── app/
│   ├── core/               # Guards, interceptors, services, models
│   ├── features/
│   │   ├── auth/           # Login, register, signup
│   │   ├── budget-dashboard/  # Charts and KPI widgets
│   │   ├── chat/           # AI chat window, messages, responses
│   │   ├── dashboard/      # Admin user management dashboard
│   │   └── upload/         # Budget document upload
│   ├── layout/             # Shell, header, sidebar, footer
│   └── shared/             # Reusable components, pipes, directives
├── environments/           # Dev, staging, production configs
└── assets/

For full architecture details and coding standards, see CLAUDE.md.

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors