VotONG
The VotONG platform is a redeployment of a previous Code for Romania application, RoHelp. The current code base is modified in order to serve a different purpose, namely allowing the representatives of NGOs and Associations within the Civic Society to nominate candidates and vote for them in several rounds of elections.
The vote implemented here is non-secret and is visible to the technical administrators of the platform. This codebase should not be used for any purpose that requires secret vote, not any purpose that requires a zero trust system.
Contributing | Built with | Repos and projects | Deployment | Feedback | License | About Code4Ro
Contributing
This project is built by amazing volunteers and you can be one of them! Here's a list of ways in which you can contribute to this project. If you want to make any change to this repository, please make a fork first.
Help us out by testing this project in the staging environment. If you see something that doesn't quite work the way you expect it to, open an Issue. Make sure to describe what you expect to happen and what is actually happening in detail.
If you would like to suggest new functionality, open an Issue and mark it as a [Feature request]. Please be specific about why you think this functionality will be of use. If you can, please include some visual description of what you would like the UI to look like, if you are suggesting new UI elements.
Built With
- Django
- Bulma
Programming languages
- Python (3.6+)
Platforms
- Web
Frontend framework
None. Includes Bulma for stilying.
Package managers
- Pip
Database technology & provider
- PostgreSQL
Pre-requisites
In order to run the project locally, you need to have Docker and docker-compose installed.
Initial set-up
Initialize the environment variables:
cp .env.example .env
Check the .env
file and see if there are any environment variables that you might need to provide a value for or change. This file is used by docker-compose
to pass the environment variables to the container it creates.
Starting the project
Get the project up and running:
docker-compose build
docker-compose up
You should be able to access the local environment site and admin at the following URLs:
Some dummy data is loaded automatically when starting the containers for the first time.
You can access the admin with email [email protected]
and password secret
(all automatically created users in the dev environment have the password set to secret
).
If you have problems starting the project, first check out the FAQ and if that doesn't work, ask someone from the project's channel. Maybe the issue you just had is worth adding to the FAQ, wouldn't it?
To work on running containers that were started using docker-compose up
, open another terminal and:
cd path/to/repo
docker-compose exec web bash
IMPORTANT: Remember to run make lint
before commiting your code in order to format the code properly. Thank you!
Deployment
Guide users through getting your code up and running on their own system. In this section you can talk about:
- Installation process
- Software dependencies
- Latest releases
- API references
Describe and show how to build your code and run the tests.
Production
A few steps need to be done after deploying to production:
# apply any new database migrations
$ ./manage.py migrate
# this will add any missing groups, flags (disabled by default) or email templates
$ ./manage.py init
# process static files
$ ./manage.py collectstatic --noinput
NOTE After the first deployment go into admin and edit the site data in /admin/sites/site/
with the correct name and domain. This is used in the site and in email templates.
Feedback
- Request a new feature on GitHub.
- Vote for popular feature requests.
- File a bug in GitHub Issues.
- Email us with other feedback [email protected]
License
This project is licensed under the MPL 2.0 License - see the LICENSE file for details
About Code4Ro
Started in 2016, Code for Romania is a civic tech NGO, official member of the Code for All network. We have a community of over 500 volunteers (developers, ux/ui, communications, data scientists, graphic designers, devops, it security and more) who work pro-bono for developing digital solutions to solve social problems. #techforsocialgood. If you want to learn more details about our projects visit our site or if you want to talk to one of our staff members, please e-mail us at [email protected].
Last, but not least, we rely on donations to ensure the infrastructure, logistics and management of our community that is widely spread across 11 timezones, coding for social change to make Romania and the world a better place. If you want to support us, you can do it here.