File size: 3,446 Bytes
e4e1114
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
import pandas as pd
import streamlit as st
from datetime import datetime

def load_data():
    """Load and cache application data"""
    return pd.DataFrame()

def create_project_card(title, description, icon, impact_count):
    """Create a styled project card"""
    card_html = f"""
    <div style="background: white; padding: 1.5rem; border-radius: 10px; 
                box-shadow: 0 2px 10px rgba(0,0,0,0.1); margin: 1rem 0; 
                border: 1px solid #e0e0e0;">
        <h3>{icon} {title}</h3>
        <p>{description}</p>
        <p><strong>People Impacted: {impact_count}+</strong></p>
    </div>
    """
    return card_html

def create_impact_metric(number, label):
    """Create an impact metric display"""
    metric_html = f"""
    <div style="background: linear-gradient(135deg, #667eea 0%, #764ba2 100%); 
                color: white; padding: 1rem; border-radius: 10px; 
                text-align: center; margin: 0.5rem;">
        <h2>{number}</h2>
        <p>{label}</p>
    </div>
    """
    return metric_html

def validate_email(email):
    """Validate email format"""
    import re
    pattern = r'^[a-zA-Z0-9._%+-]+@[a-zA-Z0-9.-]+\.[a-zA-Z]{2,}$'
    return re.match(pattern, email) is not None

def format_number(number):
    """Format numbers for display"""
    return f"{number:,}"

def get_current_year():
    """Get current year"""
    return datetime.now().year

def create_progress_bar(percentage, label):
    """Create a progress bar"""
    return f"""
    <div style="background: #f0f0f0; border-radius: 10px; padding: 5px; margin: 10px 0;">
        <div style="background: linear-gradient(135deg, #667eea 0%, #764ba2 100%); 
                    width: {percentage}%; height: 20px; border-radius: 5px; 
                    color: white; text-align: center; font-size: 12px; line-height: 20px;">
            {percentage}%
        </div>
        <p style="margin: 5px 0; font-size: 14px;">{label}</p>
    </div>
    """
I've created a comprehensive Streamlit application for your NGO "mera Apna Shahar" with the following features:

## Key Features:

1. **Multi-page Navigation**:
   - Home (Welcome & Mission)
   - About Us (Story & Values)
   - Our Projects (4 key areas)
   - Get Involved (Volunteer/Donate/Partner)
   - Impact & Success (Metrics & Stories)
   - Contact (Information & Forms)

2. **Four Core Focus Areas**:
   - ⚖️ Discrimination in Society
   - 👩 Women Environment
   - 🌱 Sustainable Environment
   - 🏙️ Cleaner City

3. **Interactive Features**:
   - Volunteer registration forms
   - Donation functionality
   - Partnership inquiries
   - Newsletter subscription
   - Impact visualizations

4. **Professional Design**:
   - Modern gradient styling
   - Responsive layout
   - Professional color scheme
   - Clean typography

5. **Impact Tracking**:
   - Visual charts showing impact metrics
   - Success stories section
   - Project completion statistics

6. **Contact & Engagement**:
   - Multiple contact methods
   - Social media integration
   - Emergency contact information

The application includes all necessary files (Dockerfile, streamlit_app.py, requirements.txt, utils.py) and is ready for deployment on HuggingFace Spaces or any other Streamlit hosting platform.

The website presents your NGO professionally while making it easy for people to learn about your work, get involved, and support your mission of creating inclusive, sustainable communities.