Skip to content

An Ethereum DApp for E-Governance (Pension Service)

License

Notifications You must be signed in to change notification settings

HaripriyaJ/G-chain

Repository files navigation

G-chain: Blockchain based E-Governance System

An Ethereum DApp for File Creation, Tracking and Management System

The project G-chain (as of 5 September 2020) was implemented for digitizing pension services and has the following features:

  1. Applicant Registration: Retiring government servants are the potential applicants. Verification of the credibility of registering applicant is done using digitized service book (implemented using smart contract calls).
  2. Applicant Form Submission: Necessary details for pension form (project convinient variant of Form-5: https://pensionersportal.gov.in/forms/formsforoffices/form-5.pdf) is collected and stored on the blockchain.
  3. Application Form Status
  4. Smart contract based data storage and retrieval: Implemented using web3 calls.
  5. Applicant Alerts: Applicant is notified whether their request/application was approved or rejected by who, at what time and for what reason (applicable only for rejection).
  6. Government Official Login
  7. Government Official Approval/Rejection Procedure: Each Official will be able to see all the pension requests in their homepage for their perusal. Proper reason has to be entered when rejecting the application.

Project Setup:

  • OS: Windows 10
  • Server: Free and open-source cross-platform web server, XAMPP (local hosting)
  • Installation requirements: Installation of web3, installation of ganache-cli/GANACHE Truffle Suite (https://www.trufflesuite.com/ganache)
  • Two Smart Contracts: Service book- to store details of government employee, Gchain- to store form data generated by applicant (Check folder SMART CONTRACTS)
  • Code Editor: Free source-code editor, Visual Studio Code.
  • Remix IDE for contract deployment / deploy the contract using Truffle to obtain ABI(Application Binary Interface) and Smart Contract Address (https://remix.ethereum.org/)
  • Languages used:
    • Website: HTML, PHP, CSS, JavaScript, jQuery, SweetAlert2.
    • Framework used: JavaScript Framework- Vuejs (CDN), CSS Framework- Bootstrap4(CDN)
    • Smart Contract Language: Solidity


Please Note

  • Download these files into a folder with foldername 'blockdata' --> else, work through all the files to change the path name.
  • Run the SQL commands in the DATABASES folder for proper functioning.
  • Check the OUTPUT folder for results (Last Modified 5th of September 2020).
  • Extract the zipped files- node_modules (contains web3), PHPMailer (to send e-mail alerts) in their respective locations.
  • Substitude ABI and Contract Address in the corresponding files.


Any suggestions/add-ons/optimization ideas are welcome. Check the LICENSE File before proceeding.