Contributing

12 views
Skip to first unread message

Duncan Walker

unread,
Dec 23, 2015, 11:59:47 AM12/23/15
to Ágora Voting
Hi everyone,
I'm a UK-based developer and I just heard about Agora Voting yesterday. I love the idea of the project and I'd like to contribute some code. All the setup instructions look comprehensive but I am not sure what it would be best for me to help with. I have had a quick search for issues lists but the Trello board looks stale, do you have a list of things I could work on anywhere else?
Thanks,
Duncan

Daniel Garcia

unread,
Dec 24, 2015, 4:43:00 AM12/24/15
to agora-...@googlegroups.com
Hi Duncan,
Welcome to the AgoraVoting community. As you said, the trello is stalled,
we don't maintain that updated. You can use it, or use github issues to
create new bugs that you detects or new functionality.

What can you do to collaborate? It depends on your skills, agoravoting is a
complex system with a lot of parts and there is a lot of languages and
technologies involved.

The first thing you should do is to deploy a complete system [1] in your
computer to view and test everithing. Use the branch next, because it's the
development branch. Create an election, test to vote and to make the tally.

Then, you can do a lot of things, most of them in the gui:

* You can improve the agora-dev-box [2] ansible deployiment to make it
more configurable or adding some things that we do manually, for example
to add the authorities pkg in a directory and automate the eopeers
--install command.

* If you know python and django you can work in the authapi [3], that's
the authentication api. What can you do here?
* Add more tests and improve the coverage
* Add some django management commands or api views to do some
possible common manual tasks, like:
* Add a voter to an authevent (election)
* Migrate voters from one authevent to other
* Renew the code for a voter

* If you know scala and play framework you can work in the agora_elections
[4] that's the ballot box. This part does less work, but all is
improvable.

* If you control web technologies, you can work on the gui [5][6][7][8].
It's all javascript with angularjs and twitter bootstrap. Things to do:
* Review the translation system and try to change to other easier
to handle, something similar to gettext
* Preparte the interface to change from bootstrap 3 to bootstrap 4
* Update angularjs to use the latests version
* Update other js libs to use the latest version
* Add some general plugins to the admin interface, using hooks and
adding more hooks if it's needed
* Add more voting booth interfaces for different elections
* Improve the results view adding some graphs

* Other things to do:
* Add more options to agora-tools [9] and add an interactive interface
* Work with vfork and encryption system
* Add more utils in agora-airgap to verify and link with an election

You can review almost all repositories involved in the agoravoting-project
[10] and find something to do.

As you see there's a lot of parts. I recommend you to try all the system,
create some election, try the full system and if you find something that
you can't do or something that is improvable, ask again and try to fix that
concrete bug or new feature.

[1] https://github.com/agoravoting/agora-dev-box/blob/next/doc/complete-deployment.md
[2] https://github.com/agoravoting/agora-dev-box
[3] https://github.com/agoravoting/authapi
[4] https://github.com/agoravoting/agora_elections
[5] https://github.com/agoravoting/agora-gui-admin
[6] https://github.com/agoravoting/agora-gui-elections
[7] https://github.com/agoravoting/agora-gui-booth
[8] https://github.com/agoravoting/agora-gui-common
[9] https://github.com/agoravoting/agora-tools
[10] https://github.com/agoravoting/agoravoting-project/wiki

--
Daniel Garcia Moreno
It's not magic, it's wadobo!
http://wadobo.com
signature.asc
Reply all
Reply to author
Forward
0 new messages