2.3 KiB
WPetition
a self hostable e petition system to collect signatures for your cause.
this is made to be hosted by the person running the Petition and not as a full on petition platform.
you will still have to export the signatures and submit it to the parliment
for more info check out https://majlis.gov.mv/en/pes/petitions
why make this
maldives parliment promised the release of a e-petition system powered by efass will be released months ago and then never released it
i said fuck it i want data protection bill so i made this simple signature collection system since the law doesnt care if youre signature is signed digitally or via wet ink.
how to selfhost this (READ)
first you will need to edit the sample.Petition.md file to fit your petition needs
then boot up the api server and upload the file
curl -X 'POST' \
'http://localhost:5299/api/Debug/upload-petition' \
-H 'accept: */*' \
-H 'Content-Type: multipart/form-data' \
-F 'file=@my_WPetition.md'
this will create the petition in the DB and will also return a guid you can use
{
"message": "Petition created successfully",
"petitionId": "13921eaa-aea4-4d74-a0f5-52a81c5e7355",
}
now go back to appsettings.json and set this to false
"PetitionSettings": {
"AllowPetitionCreation": false
},
next you will need to host your frontend but before you do that go to line 80 on index.html and edit this line to point to your api server
baseUrl: 'http://localhost:5299'
now you are ready to roll
go to www.yourdomain.com/index.html?id=[your petition id] and it should all be set
nerd shit
for more info check the readme inside the api folder
Troubleshooting
Common Issues
MongoDB Connection Failed
- Verify MongoDB is running
- Check connection string in
appsettings.json - Ensure network connectivity to MongoDB instance
Contributing
When contributing to this project:
- Follow existing code style and conventions
- Test all endpoints thoroughly
- Update documentation for any API changes
- Ensure rate limiting is not disabled in production
License
if you use this you must mention that its powered by Mv Devs Union
also any forks must be open source
this must never be used for data collection and profiling people
Support
For issues or questions, please open an issue on the repository.