A modern, community-driven petition platform empowering Filipino citizens to create meaningful change. Built for transparency, accessibility, and impact.
Petitions by BetterGov.ph is a free, open-source platform that enables Filipino citizens to:
- Create and share petitions for local and national issues
- Gather support from communities across the Philippines
- Track petition progress and engagement
- Connect with like-minded advocates for change
This platform is part of the BetterGov.ph initiative to improve governance and civic engagement in the Philippines.
- 📝 Create Petitions - Rich text editor with image support
- 🗳️ Sign & Support - Anonymous or public signatures with comments
- 🏛️ Local & National - Target specific regions or the entire country
- 📊 Real-time Progress - Live signature counts and progress tracking
- 🏷️ Categorized - Environment, Education, Healthcare, Social Justice, and more
- 📱 Mobile-Friendly - Works seamlessly on all devices
- 🔒 Privacy-First - Anonymous signing options and data protection
- Node.js 18+ and npm
- Cloudflare CLI (Wrangler)
-
Clone the repository
git clone https://github.com/bettergovph/petition.git cd petition npm install -
Set up the database
npm run db:setup
-
Start development server
npm run dev
-
Open your browser
Visit
http://localhost:5173to see the platform in action!
For detailed setup instructions and technical documentation, see ARCHITECTURE.md
We welcome contributions from developers, designers, and advocates who want to help improve civic engagement in the Philippines!
- Fork the repository on GitHub
- Create a feature branch (
git checkout -b feature/amazing-feature) - Make your changes and test them locally
- Commit your changes (
git commit -m 'Add amazing feature') - Push to your branch (
git push origin feature/amazing-feature) - Open a Pull Request with a clear description of your changes
- Follow the existing code style and conventions
- Add tests for new features when applicable
- Update documentation for significant changes
- Keep commits focused and write clear commit messages
- 🐛 Report bugs - Help us identify and fix issues
- 💡 Suggest features - Share ideas for platform improvements
- 🔧 Code contributions - Fix bugs, add features, improve performance
- 📖 Documentation - Help improve setup guides and user documentation
- 🎨 Design - Contribute to UI/UX improvements
- 🌐 Translation - Help translate the platform to other Filipino languages
npm run dev # Start development server
npm run build # Build for production
npm run test:e2e # Run end-to-end tests
npm run lint # Check code quality
npm run format # Format code with Prettier- Frontend: React 19, TypeScript, Tailwind CSS
- Backend: Cloudflare Workers/Pages Functions
- Database: Cloudflare D1 (SQLite)
- Deployment: Cloudflare Pages
- Testing: Playwright E2E tests
- Issues: GitHub Issues
- Discussions: GitHub Discussions
- Website: BetterGov.ph
- Email: hello@bettergov.ph
This project is licensed under the MIT License - see the LICENSE.md file for details.
- Built by the BetterGov.ph community
- Powered by Cloudflare infrastructure
- UI components inspired by shadcn/ui
- Icons from Lucide React
Made with ❤️ for the Philippines 🇵🇭
Empowering citizens to create meaningful change through technology and community.