Skip to main content

Welcome to AquaGen Web Application Documentation

Welcome to the comprehensive documentation for the AquaGen Web Application - a modern water management platform built with cutting-edge technologies.

What is AquaGen?

AquaGen is an enterprise-grade water management solution that helps organizations monitor, analyze, and optimize their water resources. Built with React 19, Material-UI 7, and Nx monorepo architecture, it provides real-time monitoring, AI-powered insights, and comprehensive water sustainability tracking.

Quick Navigation

Getting Started

New to AquaGen? Start here to set up your development environment and understand the platform.

Architecture

Understand the technical architecture and design decisions behind AquaGen.

Features

Learn about the key features and how they work.

Development

Resources for developers working on AquaGen.

API Reference

Documentation for API integration and services.

Key Features

Real-Time Monitoring

  • Live water flow rates and quality metrics
  • Ground water level tracking
  • Multi-node data visualization
  • Historical trend analysis

AI-Powered Insights

  • AquaGPT - Natural language queries about water data
  • Anomaly detection
  • Predictive analytics
  • Intelligent recommendations

Water Sustainability

  • Water balance calculations
  • Water neutrality tracking
  • Rain Water Index (RWI)
  • Urban Water Index (UWI)
  • Water Risk Index (WRI)
  • Ground Water Index (GWI)

Enterprise Features

  • Role-based access control (33+ permissions)
  • Multi-tenant support
  • SCADA editor and viewer
  • HMI interface
  • Advanced reporting and analytics

Technology Stack

CategoryTechnologies
FrontendReact 19, Material-UI 7, TypeScript 5.7
Build ToolsNx 21, Rspack 1.3, Module Federation
State ManagementReact Context, Custom Hooks
VisualizationChart.js, Recharts, Plotly.js, Leaflet
AuthenticationAzure MSAL, Google OAuth
TestingJest, Cypress, Playwright
DeploymentFirebase Hosting, Capacitor (Mobile)
MonitoringSentry, Mixpanel, Google Analytics 4

Learning Paths

For New Developers

  1. Read Platform Overview to understand AquaGen
  2. Follow Installation Guide to set up your environment
  3. Review Commands Reference to learn essential commands
  4. Study Architecture Diagrams for visual overview
  5. Start coding!

For Frontend Developers

  1. Explore Component Library for reusable components
  2. Learn State Management patterns
  3. Check Routes Documentation for navigation
  4. Review Permissions for access control

For Backend/API Developers

  1. Review API & Services for integration points
  2. Understand Authentication flow
  3. Check API endpoints and request/response formats

For DevOps Engineers

  1. Study Deployment Guide for Firebase hosting
  2. Review Commands Reference for build scripts
  3. Understand environment configuration and CI/CD

Project Structure

aquagen_web_appp/
├── apps/ # Applications
│ ├── production/ # Main production app
│ └── demo/ # Demo app
├── libs/ # Feature libraries (27+)
│ ├── dashboard/ # Dashboard module
│ ├── monitoring/ # Monitoring module
│ ├── energy/ # Energy module
│ ├── aquagpt/ # AI-powered insights
│ ├── shared/ # Shared utilities
│ ├── components/ # Reusable UI components
│ └── ... (20+ more)
├── docs/ # Documentation
├── package.json # Dependencies and scripts
├── nx.json # Nx workspace config
└── firebase.json # Firebase hosting config

Getting Help

  • GitHub Issues: Report bugs or request features
  • Documentation: Search this documentation for answers
  • Code Comments: Check inline comments for implementation details

Contributing

AquaGen follows modern development practices:

  1. Branching: Feature branches from main
  2. Code Review: All changes require review
  3. Testing: Unit tests for critical functionality
  4. Linting: ESLint and Prettier for code quality
  5. Documentation: Update docs with code changes

Next Steps

Choose your path based on your role:


Ready to get started? Head to the Installation Guide to set up your development environment!

Last Updated: February 2026 Maintained By: AquaGen Development Team