diff --git a/README.md b/README.md index 26e9b3d47..88dad8ce3 100644 --- a/README.md +++ b/README.md @@ -61,21 +61,298 @@ # D-Voting **D-Voting** is an e-voting platform based on the -[Dela](https://github.com/dedis/dela) blockchain. In short: +[Dela](https://github.com/dedis/dela) blockchain. It uses state-of-the-art +protocols that guarantee privacy of votes and a fully decentralized process. +This project was born in early 2021 and has been iteratively implemented by EPFL +students under the supervision of DEDIS members. -- An open platform to run voting instances on a blockchain -- Provides privacy of votes with state-of-the art protocols -- Fully auditable and decentralized process +β οΈ This project is still under development and should not be used for real +elections. -## Global architecture +Main properties of the system are the following: -Find more about the architecture on the [documentation -website](https://dedis.github.io/d-voting/#/). +
+
+.
+βββ cli
+β βββ cosipbftcontroller Custom initialization of the blockchain node
+β βββ memcoin Build the node CLI
+β βββ postinstall Custom node CLI setup
+βββ contracts
+β βββ evoting D-Voting smart contract
+β βββ controller CLI commands for the smart contract
+βββ deb-package Debian package for deployment
+βββ docs Documentation
+βββ integration Integration tests
+βββ internal Internal packages: testing, tooling, tracing
+βββ metrics
+β βββ controller CLI commands for Prometheus
+βββ proxy Defines and implements HTTP handlers for the REST API
+βββ services
+β βββ dkg
+β β βββ pedersen Implementation of the DKG service
+β βββ shuffle
+β βββ neff Implementation of the shuffle service
+βββ web
+ βββ backend
+ β βββ src Sources of the web backend (express.js server)
+ βββ frontend
+ βββ src Sources of the web frontend (react app)
+
+
+
+## π©βπ»π¨βπ» Contributors
+
+Period | +Contributors(s) | +Activities | +Links | +
Spring 2021 | +Students: Anas Ibrahim, Vincent Parodi Supervisor: NoΓ©mien Kocher |
+ Initial implementation of the smart contract and services | +Report | +
Spring 2021 | +Student: Sarah Antille Supervisor: NoΓ©mien Kocher |
+ Initial implementation of the web frontend in react | +Report | +
Fall 2021 | +Students: Auguste Baum, Emilien Duc Supervisor: NoΓ©mien Kocher |
+ Adds a flexible election structure. Improves robustness and security. | ++ Report, + Presentation + | +
Fall 2021 | +Students: Ambroise Borbely Supervisor: NoΓ©mien Kocher |
+ Adds authentication and authorization mechanism on the frontend. | +Report | +
Spring 2022 | +Students: Guanyu Zhang, Igowa Giovanni Supervisor: NoΓ©mien Kocher Assistant: Emilien Duc |
+ Improves production-readiness: deploy a test pipeline and analyze the system's robustness. | ++ Report, + Presentation + | +
Spring 2022 | +Students: Badr Larhdir, Capucine Berger Supervisor: NoΓ©mien Kocher |
+ Major iteration over the frontend - design and functionalities: implements a flexible election form, nodes setup, and result page. | ++ Report, + Presentation + | +