Go to file
2025-12-14 12:35:04 +05:00
2025-12-10 11:09:49 +05:00
2025-12-14 12:35:04 +05:00
2025-12-14 12:35:04 +05:00
2025-12-10 11:01:46 +05:00
2025-12-14 12:09:00 +05:00
2025-12-10 11:09:49 +05:00
idk
2025-12-10 11:10:09 +05:00
2025-12-10 11:01:46 +05:00
2025-12-14 12:35:04 +05:00
2025-12-14 12:09:05 +05:00
idk
2025-12-10 11:10:09 +05:00

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:

  1. Follow existing code style and conventions
  2. Test all endpoints thoroughly
  3. Update documentation for any API changes
  4. 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.

Description
No description provided
Readme 106 KiB
Languages
HTML 46.8%
C# 34.7%
CSS 13.9%
Dockerfile 4.6%