mirror of
https://github.com/MvDevsUnion/WPetition.git
synced 2026-01-13 17:09:28 +00:00
83 lines
2.3 KiB
Markdown
83 lines
2.3 KiB
Markdown
# 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.
|