A comprehensive data analytics and visualization platform for analyzing Aadhaar (UIDAI) metrics including biometric authentication, demographic data, and enrolment statistics across India.
- Overview
- Features
- Project Structure
- Tech Stack
- Getting Started
- Usage
- Data Pipeline
- Contributing
- Team
- License
This project was developed for the UIDAI Hackathon to provide insightful visualizations and analytics on Aadhaar data. It enables users to explore trends in:
- Biometric Authentication: Track successful biometric authentications across age groups (5-17, 17+)
- Demographic Authentication: Monitor demographic authentication patterns
- Enrolment Statistics: Analyze new Aadhaar enrolments by age groups (0-5, 5-17, 18+)
- Geographic Analysis: Filter and visualize data by state, district, and pincode
- 📊 Interactive TradingView-style Charts - Professional-grade candlestick and line charts for data visualization
- 🗺️ Geographic Filtering - Filter data by state and district
- 📈 Custom Indicators - Add and configure custom analytical indicators
- 🔄 Data Fusion Mode - Combine multiple datasets for comprehensive analysis
- 📰 Event Markers - Track policy changes, technology updates, and news events
- 🤖 AI Analyst Notes - Save and manage analytical insights
- 🌙 Dark Theme - Eye-friendly dark mode interface
- 📱 Responsive Design - Works across desktop and mobile devices
United-India---UIDAI---Hackathon/
├── UIDAI/
│ └── UI/ # Frontend React Application
│ ├── src/
│ │ ├── components/ # React components
│ │ │ ├── Chart/ # Chart visualization components
│ │ │ ├── Docs/ # Help and documentation
│ │ │ ├── Indicators/ # Indicator management
│ │ │ └── Layout/ # Layout components
│ │ ├── store/ # Zustand state management
│ │ ├── types/ # TypeScript type definitions
│ │ ├── utils/ # Utility functions
│ │ └── data/ # Static data files
│ ├── package.json
│ ├── vite.config.ts
│ └── tailwind.config.js
├── Datascience/ # Data processing pipeline
│ ├── aadhaar_metrics_pipeline.ipynb # Main data pipeline
│ └── processed/ # Processed output data
└── README.md
- React 19 - UI library
- TypeScript - Type-safe JavaScript
- Vite 7 - Build tool and dev server
- Tailwind CSS 4 - Utility-first CSS framework
- Zustand - State management
- Lightweight Charts - TradingView charting library
- Lucide React - Icon library
- PapaParse - CSV parsing
- Python - Data processing
- Pandas - Data manipulation
- NumPy - Numerical computing
- Jupyter Notebook - Interactive development
- Node.js (v18 or higher)
- npm or yarn
- Python 3.8+ (for data pipeline)
-
Clone the repository
git clone https://github.com/VarunKumar-05/United-India---UIDAI---Hackathon.git cd United-India---UIDAI---Hackathon -
Install Frontend Dependencies
cd UIDAI/UI npm install -
Start Development Server
npm run dev
-
Build for Production
npm run build
-
Install Python dependencies
pip install pandas numpy jupyter
-
Run the data pipeline
cd Datascience jupyter notebook aadhaar_metrics_pipeline.ipynb
-
Launch the Application: Start the dev server and open
http://localhost:5173 -
Select Data View:
- Choose a state and district from the filters
- Select the primary dataset (Biometric, Demographic, or Enrolment)
-
Customize Charts:
- Toggle between different chart types (candles, line)
- Add custom indicators
- Enable fusion mode to overlay multiple datasets
-
Explore Events: Click on event markers to view policy changes, technology updates, and news affecting Aadhaar metrics
-
Access Help: Navigate to
#helpfor detailed documentation
The data pipeline processes raw Aadhaar data from multiple sources:
| Data Type | Description | Age Groups |
|---|---|---|
| Biometric | Successful biometric authentications | 5-17, 17+ |
| Demographic | Successful demographic authentications | 5-17, 17+ |
| Enrolment | New Aadhaar enrolments | 0-5, 5-17, 18+ |
Output Metrics:
- Daily enrolment trends
- Biometric vs Demographic usage comparison
- Share ratios and child-share analysis
- State and district-level aggregations
Contributions are welcome! Please follow these steps:
- Fork the repository
- Create a feature branch (
git checkout -b feature/AmazingFeature) - Commit your changes (
git commit -m 'Add some AmazingFeature') - Push to the branch (
git push origin feature/AmazingFeature) - Open a Pull Request
- Varun Kumar - @VarunKumar-05
- Thomas Albert - @iwinalbert
- Rishi Lakshan
This project is open source and available under the MIT License.
Made with ❤️ for the UIDAI Hackathon