Skip to content

codeforpakistan/hum-awaz

Repository files navigation

πŸ—³οΈ Hum Awaz - Voice of the People

Pakistan's Premier Participatory Democracy Platform

Hum Awaz (ہم ؒواز) empowers Pakistani citizens to actively participate in democratic processes through digital consultations, proposal submissions, and collaborative decision-making. Built for transparency, accessibility, and meaningful civic engagement.


πŸš€ Features

πŸ›οΈ Democratic Processes

  • Public Consultations: Government-initiated processes on policy matters
  • Multi-Language Support: Full English/Urdu bilingual interface with RTL support
  • Time-Based Progress: Real-time progress tracking for active consultations
  • Category Organization: Education, Healthcare, Infrastructure, Economy, Environment, Governance

πŸ“ Citizen Proposals

  • Proposal Submission: Citizens can submit detailed policy proposals
  • Collaborative Editing: Multi-language proposal creation
  • Status Tracking: Pending β†’ Approved β†’ Under Review β†’ Implemented
  • Process Integration: Proposals linked to relevant consultation processes

πŸ—³οΈ Interactive Voting System

  • Three-Option Voting: Support, Oppose, Neutral positions
  • Vote Changes Allowed: Users can update votes until deadline
  • Real-Time Updates: Instant vote count refresh
  • Visual Feedback: Clear indication of user's current vote

πŸ’¬ Discussion Platform

  • Process Discussions: General conversation on consultation topics
  • Proposal Comments: Threaded discussions on specific proposals
  • Multi-Language Content: Comments in English and Urdu
  • Community Engagement: Foster dialogue between citizens

πŸ“Š Advanced Filtering & Search

  • Smart Search: Find processes/proposals by keywords
  • Category Filters: Browse by policy area
  • Status Filtering: Active, closed, pending processes
  • Sorting Options: Recent, popular, most supported

πŸ” Security & Authentication

  • Supabase Auth: Secure user registration and login
  • Row Level Security: Database-level access control
  • Profile Management: User profiles with preferences
  • Participation Tracking: Engagement analytics

πŸ› οΈ Tech Stack

Frontend

  • Next.js 14: React framework with App Router
  • TypeScript: Type-safe development
  • Tailwind CSS: Modern utility-first styling
  • Shadcn/ui: High-quality UI components
  • Lucide Icons: Consistent iconography

Backend

  • Supabase: Backend-as-a-Service platform
  • PostgreSQL: Robust relational database
  • Row Level Security: Fine-grained access control
  • Real-time Subscriptions: Live data updates

Infrastructure

  • Vercel: Deployment and hosting
  • Edge Functions: Global performance optimization
  • CDN: Fast content delivery worldwide

πŸ—οΈ Architecture

Database Schema

profiles         β†’ User profiles and preferences
processes        β†’ Democratic consultation processes  
proposals        β†’ Citizen-submitted proposals
discussions      β†’ Comments and conversations
votes           β†’ User votes on proposals
participations  β†’ Engagement tracking
notifications   β†’ User alerts and updates

Key Relationships

  • Processes have many Proposals
  • Proposals have many Votes and Discussions
  • Users can participate in multiple Processes
  • Real-time vote counting with database triggers

πŸš€ Getting Started

Prerequisites

  • Node.js 18+ and pnpm
  • Supabase account and project
  • Git for version control

Installation

  1. Clone the repository

    git clone https://github.com/codeforpakistan/hum-awaaz.git
    cd hum-awaaz
  2. Install dependencies

    pnpm install
  3. Environment Setup Create .env.local file:

    NEXT_PUBLIC_SUPABASE_URL=your_supabase_url
    NEXT_PUBLIC_SUPABASE_ANON_KEY=your_supabase_anon_key
  4. Database Setup

    # Run database migrations in order:
    # 1. Drop existing tables (if any)
    psql -h your-db-host -d your-db -f supabase/step1-drop-tables.sql
    
    # 2. Create schema and tables
    psql -h your-db-host -d your-db -f supabase/step2-create-schema.sql
    
    # 3. Insert sample data
    psql -h your-db-host -d your-db -f supabase/step3-sample-data.sql
  5. Run Development Server

    pnpm run dev
  6. Open Application Navigate to http://localhost:3000


πŸ“ Project Structure

hum-awaaz/
β”œβ”€β”€ app/                    # Next.js App Router pages
β”‚   β”œβ”€β”€ (auth)/            # Authentication pages
β”‚   β”œβ”€β”€ dashboard/         # User dashboard
β”‚   β”œβ”€β”€ processes/         # Democratic processes
β”‚   β”‚   β”œβ”€β”€ [id]/         # Individual process pages
β”‚   β”‚   └── new/          # Create new process
β”‚   β”œβ”€β”€ proposals/         # Citizen proposals
β”‚   └── layout.tsx        # Global layout
β”œβ”€β”€ components/            # Reusable UI components
β”‚   β”œβ”€β”€ ui/               # Shadcn/ui components
β”‚   β”œβ”€β”€ main-nav.tsx      # Navigation component
β”‚   β”œβ”€β”€ language-provider.tsx # i18n context
β”‚   └── footer.tsx        # Footer component
β”œβ”€β”€ lib/                  # Utility libraries
β”‚   β”œβ”€β”€ supabase.ts       # Database client
β”‚   β”œβ”€β”€ auth-context.tsx  # Authentication context
β”‚   └── utils.ts          # Helper functions
β”œβ”€β”€ supabase/             # Database scripts
β”‚   β”œβ”€β”€ step1-drop-tables.sql
β”‚   β”œβ”€β”€ step2-create-schema.sql
β”‚   └── step3-sample-data.sql
└── public/               # Static assets

🌟 Key Features Deep Dive

Participatory Democracy

Hum Awaz implements modern participatory democracy principles:

  • Deliberative Process: Structured discussions before voting
  • Inclusive Participation: Multi-language accessibility
  • Transparent Governance: Open process and result tracking
  • Iterative Engagement: Vote changes allowed during consultation period

Bilingual Excellence

True Pakistani experience with:

  • Native Urdu Support: RTL text rendering and Urdu typography
  • Cultural Context: Pakistani government structure integration
  • Flexible Language Switching: User preference persistence
  • Content Localization: All interface elements translated

Real-Time Democracy

Modern digital engagement through:

  • Live Vote Counts: Instant result updates
  • Dynamic Progress Tracking: Time-based consultation progress
  • Immediate Feedback: Instant vote confirmation
  • Notification System: Real-time updates on process changes

πŸ“Š Usage Analytics

Track democratic engagement through:

  • Participation Rates: Users actively engaging in processes
  • Geographic Distribution: Participation across Pakistan
  • Category Popularity: Most discussed policy areas
  • Proposal Success: Conversion from submission to implementation

πŸ—ΊοΈ Roadmap

Phase 1: Foundation βœ…

  • Core democratic processes
  • Proposal submission system
  • Interactive voting
  • Discussion platform
  • Bilingual interface

Phase 2: Enhancement (Next 3 months)

  • Participatory budgeting module
  • Advanced voting systems (ranked choice, quadratic)
  • Geographic mapping integration
  • Survey and questionnaire engine
  • Mobile app development

Phase 3: Scale (6-12 months)

  • Multi-tenant government support
  • API for third-party integrations
  • Advanced analytics dashboard
  • AI-powered proposal analysis
  • Blockchain vote verification

Phase 4: Innovation (12+ months)

  • Citizen initiative system
  • Assembly management tools
  • Cross-border consultation capabilities
  • Academic research integration

See ROADMAP.md for detailed development plans


🀝 Contributing

We welcome contributions from developers, designers, policy experts, and civic engagement specialists!

Development Workflow

  1. Fork the repository
  2. Create feature branch (git checkout -b feature/amazing-feature)
  3. Commit changes (git commit -m 'Add amazing feature')
  4. Push to branch (git push origin feature/amazing-feature)
  5. Open Pull Request

Contribution Areas

  • Frontend Development: React/Next.js components
  • Backend Development: Supabase functions and triggers
  • UI/UX Design: User experience improvements
  • Translation: Urdu and regional language support
  • Documentation: API docs and user guides
  • Testing: Automated testing and QA

Code Standards

  • TypeScript for type safety
  • ESLint and Prettier for code formatting
  • Conventional commits for clear history
  • Component-based architecture
  • Responsive design principles

πŸ“„ License

This project is licensed under the MIT License - see the LICENSE file for details.


πŸ›οΈ Government Partnerships

Hum Awaz is designed for collaboration with:

  • Federal Government: National policy consultations
  • Provincial Governments: Regional governance initiatives
  • Local Governments: Community-level decision making
  • Civil Society: NGO and advocacy group engagement
  • Academic Institutions: Research and analysis partnerships

πŸ“ž Support

Community Support

  • GitHub Issues: Bug reports and feature requests
  • Discussions: Community Q&A and ideas
  • Live Platform: humawaz.codeforpakistan.org
  • Documentation: Comprehensive guides and tutorials

Professional Support

For government organizations and large-scale deployments:

  • Implementation Consulting: Custom deployment assistance
  • Training Programs: User and administrator training
  • Technical Integration: API and system integration support
  • Ongoing Maintenance: Long-term support contracts

🌍 Vision

Democratizing Democracy in Pakistan

Hum Awaz envisions a Pakistan where every citizen has a meaningful voice in governance. Through accessible technology, transparent processes, and inclusive participation, we're building the digital infrastructure for 21st-century democracy.

Our platform bridges the gap between citizens and government, fostering:

  • Active Civic Engagement: Beyond voting to continuous participation
  • Transparent Governance: Open processes and accountable outcomes
  • Inclusive Decision-Making: Voices from all communities and backgrounds
  • Evidence-Based Policy: Data-driven insights for better governance

🎯 Impact Goals

Participation Targets

  • 100K+ Registered Users in first year
  • 500+ Democratic Processes hosted annually
  • 10K+ Proposals submitted by citizens
  • 80%+ User Satisfaction with platform experience

Governance Outcomes

  • Increased Transparency: Open government data and processes
  • Better Policy Decisions: Evidence-based, citizen-informed policies
  • Stronger Democracy: Higher civic engagement and trust
  • Digital Inclusion: Bridging urban-rural participation gaps

πŸ™ Acknowledgments

Special thanks to:

  • Open Source Community: Building on incredible open-source tools
  • Decidim Project: Inspiration from leading participatory democracy platform
  • Pakistani Civil Society: Advocacy for transparent governance
  • Beta Users: Early feedback and platform testing
  • Contributors: Developers, designers, and democracy advocates

Built with ❀️ for the people of Pakistan

Hum Awaz - ہم ؒواز - Voice of the People


πŸ”— Quick Links

Resource Link
🌐 Live Platform https://humawaz.codeforpakistan.org
πŸ“š Documentation /docs
πŸ—ΊοΈ Roadmap ROADMAP.md
πŸ› Issues GitHub Issues
πŸ’¬ Discussions GitHub Discussions
πŸ“§ Contact support@humawaaz.pk

Releases

No releases published

Packages

No packages published

Contributors 3

  •  
  •  
  •