Haciendo Stellar

Haciendo la comunidad de Stellar Network más grande de hablahispana

Haciendo la comunidad de Stellar Network
más grande de hablahispana

VoteChain: sistema de votaciones online

Sistema de votaciones online, dirigido a las administraciones de consorcios de edificio, que permite resolver de forma ágil la toma de decisiones en relación a propuestas que podrían ser derivadas ya sea de asambleas, iniciativas de consorcistas individuales o grupales, o directamente de la administración del consorcio. El sistema busca fomentar la participación de los vecinos y lograr mayor transparencia sobre las acciones que llevan a cabo los consorcios.

Ejemplos de uso:

  • Definir un cierto aumento en el valor de las expensas dirigido al gasto en mantenimiento del parque (origen: administración).
  • Definir un proveedor de cierto servicio imprescindible para el mantenimiento de las instalaciones (origen: asamblea). Ej.: calderista, plomero, electricista, etc.
  • Definir una necesidad para que sea objeto de votación (origen: consorcista/s).

LÓGICA DE NEGOCIO

  • Una vez formulada una propuesta, el consorcio se encargará de publicarla para dar inicio a la votación.
  • Si bien el consorcio podría publicar más de una propuesta y que las votaciones respectivas convivan en un mismo período de tiempo, provocando la existencia de votaciones simultáneas, por el momento y por simplicidad el consorcio quedará restringido a la acción de publicar solo una propuesta a la vez, logrando así la existencia de una única votación abierta por vez.
  • Por cada votación se generarán tantos assets como opciones de voto tenga la votación.
    • Cada consorcista puede tener un peso determinado en la votación (por ejemplo, por los m2 de la unidad de la que es responsable). Lo que se traduce en más valores de voto.
    • Los consorcistas pueden estar o no habilitados para participar en la votación.
    • Cada votación podrá requerir, dependiendo la propuesta, un mínimo de consorcistas participantes para que sea considerada válida.
    • Cada votación tendrá un tiempo de finalización.
  • Sobre una votación particular, los consorcistas tendrán la posibilidad de votar diferentes opciones usando parte de los valores de voto que les fueron otorgados.
    • Podrán votar más de una vez, en tanto dispongan de “saldo” y el tiempo de finalización de la votación no se haya alcanzado.
    • Solo podrán votar una única vez una opción.
    • Una vez que se haya realizado un voto, tal acción no podrá deshacerse.
  • Finalizada la votación
    • Los assets generados para la propuesta que fue votada quedan en desuso.
    • Si la votación es considerada válida se emitirán los resultados. De lo contrario, se expondrán los motivos de la invalidez.

Secuencia básica del sistema

  1. Un cliente consorcio entra a la app y se registra.
    • Se crea una Consorcio y tantos Consorcistas como hayan sido declarados en el registro.
    • Se crean las respectivas cuentas de Stellar correspondientes a cada instancia de Consorcio y Consorcista.
  2. Un cliente consorcio crea una votación/encuesta dirigida a los consorcistas registrados en su cuenta.
    • Se procesan los datos y se crea una Votación.
    • Se depositan en la cuenta Stellar del consorcio las cantidades necesarias de los assets creados específicamente para ser utilizados como valores de votos en esta votación. Se crean tantos assets como opciones de voto tenga la votación. cantidad de opciones * Σ vt = total assets emitidos
  3. Se inicia la votación.
    • Los consorcistas ingresan a la app para votar.
    • Un consorcista realiza un voto que puede ser pleno o parcial si existieran más de dos opciones en la votación. Si el voto es parcial, aún poseerá valores de voto por lo que puede volver a votar.
    • Cada vez que se realice un voto se emitirá un pago desde la cuenta Stellar del consorcio a la cuenta Stellar del consorcista con la cantidad indicada del asset asociado a la opción por la que se está votando.
  4. Finaliza la votación.
    • Se depositan (se queman) en la cuenta ISSUER todos los assets creados para la votación, emitiendo pagos desde las cuentas que al momento de finalización tengan posesión del asset.
  5. Se muestran los resultados de la votación.

Github: https://github.com/lucasmpe/votechain
Demo: https://votechain-app.herokuapp.com/

Integrantes:
Lucas Perez (Discord: Lucas Perez#6378)
Gonzalo Altamirano (Discord: Gonzalo Altamirano#6445)


Online voting system, aimed at building community committee administrators, which allows quick decision making in relation to proposals that could be derived either from assemblies, individual or group committee initiatives, or from the building community committee administration. The system seeks to encourage the participation of neighbors and achieve greater transparency about actions carried out by the committee.

Usage examples:

  • To define a set increase in the value of  maintenance fees that goes toward park maintenance (origin: committee administration)
  • To define a certain essential service for the maintenance of the facilities (origin: assembly). Examples: plumber, electrician, etc.
  • To define a necessity to be voted on (origin: member/s of the committee).

BUSINESS LOGIC

  • Once a proposal has been formulated, the committee will be in charge of publishing it to start voting.
  • Even though the committee could publish more than one proposal and they could coexist in the same period of time, causing the existence of simultaneous polls, for the moment the committee will be restricted to publishing only one proposal at a time, thus achieving the existence of one single open poll at a time.
  • For each poll, as many assets as voting options will be generated
    • Every committee member will have a certain voting value in the poll (for example, based on how many square meters the unit they are responsible for has). Which translates into more voting value.
    • Committee members may or may not be authorized to participate in the poll.
    • Depending on the proposal, each poll may require a minimum number of participating committee members to be considered valid.
    • Each poll will be time restricted.
  • On a particular poll, committee members will have the possibility to vote for different options using part of the voting value that was granted to them.
    • They will be able to vote more than once, as long as they have the necessary “balance” and the poll has not finished.
    • They can only vote once for an option.
    • Once a vote has been cast, the action cannot be undone.
  • Once the poll has finished.
    • Generated assets for the proposal will be deprecated.
    • If the poll is considered valid, results will be published. Otherwise, reasons for the invalidity will be stated.

Basic System Sequence

  1. A committee client opens the app and signs in.
    • A Building Community Committee and as many Committee Members as needed are created.
    • Stellar accounts corresponding to each Building Community Committee and as many Committee Members are created.
  2. A client building community committee creates a poll/survey addressed to committee members registered in his account.
    • Data is processed and a Poll is created.
    • Necessary amounts of the assets created specifically to be used as voting values are deposited in the building community committee account. As many assets are created as the number of voting options the poll has. number of options * Σ vt = total issued assets
  3. Voting begins.
    • Committee members access the app in order to vote.
    • A committee member casts a vote that can be complete or partial if there are more than two voting options. If the vote is partial, they will still have voting values so they can vote again.
    • Every time a vote is cast, a payment will be issued from the Committee’s Stellar account to the Committee Member’s account with the amount indicated by the asset associated with the option they are voting for.
  4. Voting ends.
    • All the assets created for the poll are deposited (burned) in the ISSUER account, issuing payments from the accounts that at the time of completion have possession of the asset.
  5. Voting results are displayed.


Github: https://github.com/lucasmpe/votechain
Demo: https://votechain-app.herokuapp.com/

Members:
Lucas Perez (Discord: Lucas Perez#6378)
Gonzalo Altamirano (Discord: Gonzalo Altamirano#6445)