In this project a distributed suggestion system based on blockchain is designed. The advantages of this is as follows:
– Transparency of the system: Since the blockchain is distributed, all the votes and suggestions are transparently accessible in the blockchain to all the personnel. This feature helps the suggestions get better evaluated. In case a suggestion is rejected, the reasons for its rejection become known to every member.
– The system becomes more dynamic: In case a suggestion is accepted, every person that helps this suggestion be confirmed, including the people that made this suggestion and the people who participated in the voting, is rewarded accordingly. This reward encourages the personnel to make good and practical suggestions. The department and committee members that engage in the voting are also encouraged to evaluate and vote for the suggestion more carefully. Hence we expect the personnel participate more actively in the new system.
– Automation of the system:
Since the polling, reward giving, giving the right to vote (being a member of departments and committees) … are all handled by the smart contract and because smart contract are self-executable, the suggestion system becomes automated. For example if a suggestion is accepted, the people who were involved in accepting the suggestion are sure that they’ll get their reward and they cannot be denied of their reward.
– Immutability of Data:
Since Blockchain is immutable, no one can alter the votes and suggestions. Moreover, all the suggestion are stored in the blockchain and they’re all treated equally. These features make the personnel trust the suggestion system and this trust encourages them to participate in the polling.
The system works as follows.
In this system the personnel first sign up in the system via an application. They enter their name, surname, national ID number, email address, personnel number, department name, and committee name (In case they are in technical committees) in the application and these data are stored in a database. Then the web server sends the registration request to the admin. Admin is informed by a notification in its web panel and can accept or reject the request. In case this request is accepted, the SDK sends an email to the user containing her/his password. The user can login to its account by this password and can make a suggestion through her/his account. The user determines the subject of the suggestion and if need be upload a file containing the details of the suggestion. This file is then stored in the internal system. The user can also choose the related departments and committees. Then the admin is informed of the new suggestion by a notification in his/her web panel. Admin can reject or accept the suggestion request. In case he/she accepts the suggestion request, he/she is responsible to inform the departments and committees of the deadline of the polling and the number of votes needed to accept the suggestion. The related personnel are informed of the polling and can accept or reject the suggestion before the deadline. If a suggestion has the adequate number of votes from the department members, the committee members start voting. The committee members are required to give their reasons if they reject a suggestion. If the suggestion has the adequate number of votes from the committee members, it is accepted. If the suggestion is accepted, the members involved get their rewards accordingly.