This project aims to solve the client-side of the Anovote application, a digital anonymous voting system. Anovote aims to implement
a voting solution that can perform secure, digital and anonymous elections. It is required that the solution secures the anonymity
of eligible voters, that a vote cannot be modified and that the voter is validated and approved prior to the election.
The anovote frontend comes with an Anovote CLI, which can be used to start or clean the development environment.
Since the anovote CLI is located in the root folder, you may have to run chmod +x ./anovote
for execution access.
It is therefore recommended to run the Anovote CLI on a linux based system.
To be able to use the Anovote CLI, Docker and Docker compose needs to be installed on the device.
The Anovote CLI comes with the following commands:
anovote dev
, which starts the development environment.anovote dev --build
, which builds images and starts containers.anovote dev --down
, which stops the development containers, removes all volumes and clear all orphan child containers.anovote dev --force
, which re-creates the containers and starts the development environment.
- Node
- Yarn
- Run
yarn install
- Run
yarn start
- This will start a local development server, and automatically open a website where the frontend will be visible.
- Let the code fly!
- Hot reloading is enabled, so the development server restarts on code change in the
src
directory.
- Hot reloading is enabled, so the development server restarts on code change in the
- Docker
- Docker compose
- Node (Optional)
- Yarn (Optional)
- (Optional) Run
yarn install
- This is only required for getting types in your editor, but is not required for running as the container has its own node_modules folder.
- Run
./anovote dev --build
- If the images are already built, run
./anovote dev
- As described in the Anovote CLI section, this might require execution permissions.
- If the images are already built, run
- Let the code fly!
- Hot reloading is enabled, so the development server restarts on code change in the
src
directory.
- Hot reloading is enabled, so the development server restarts on code change in the
There are two ways to build the frontend, locally with yarn and with Docker.
- Run
yarn install
- Run
yarn build
(This will take a while, crab a cup of tea and wait 🍵)
- Run
./anovote prod --build
(This will take a while, crab a cup of tea and wait 🍵)