e-petitions  by alphagov

Manages UK government e-petitions online

Created 14 years ago
312 stars

Top 86.2% on SourcePulse

GitHubView on GitHub
Project Summary

The alphagov/e-petitions repository hosts the codebase for the UK Government and Parliament's official e-petitions service. It provides a platform for citizens to create and sign petitions, facilitating public engagement with government. The system offers robust backend functionality for managing petitions, signatures, and user interactions, enhanced by advanced search and secure administrative access.

How It Works

Built on Ruby on Rails with PostgreSQL, the service features an optional vector-based search. This search leverages pgvector and can be configured with various embedding models (e.g., mxbai-embed-large, OpenAI, Amazon Bedrock) for semantic querying. The moderation portal employs OmniAuth for Single Sign-On (SSO), supporting multiple identity providers like SAML, enabling flexible, role-based administrative authentication via email domains.

Quick Start & Requirements

  • Docker Desktop is the recommended setup method.
  • Manual setup requires Ruby (3.2+), Node (20+), and PostgreSQL (16+).
  • Essential setup commands include bin/run rake db:setup, bin/run rake epets:countries:load, and docker compose up to launch services.
  • Specific links to official quick-start guides or demos are not detailed in the README.

Highlighted Details

  • Optional vector search using pgvector with configurable embedding backends (OpenAI, Amazon Bedrock) and models, requiring specific setup.
  • Moderation portal SSO via OmniAuth, supporting multiple identity providers and role mapping.
  • Automated data loading scripts for geographical and departmental information.
  • Configurable signature counting intervals.

Maintenance & Community

The provided README excerpt does not contain information regarding notable contributors, sponsorships, community channels (e.g., Discord, Slack), or a public roadmap.

Licensing & Compatibility

The repository's license type and any associated compatibility notes for commercial use or closed-source linking are not specified in the provided README excerpt.

Limitations & Caveats

The advanced vector search is opt-in and requires specific environment variable configurations and potentially external API keys or cloud service access. The SSO developer strategy is explicitly marked as unsuitable for production environments.

Health Check
Last Commit

10 hours ago

Responsiveness

Inactive

Pull Requests (30d)
50
Issues (30d)
0
Star History
0 stars in the last 30 days

Explore Similar Projects

Feedback? Help us improve.