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:
- 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).
- 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.
- Application Form Status
- Smart contract based data storage and retrieval: Implemented using web3 calls.
- 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).
- Government Official Login
- 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.
- 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.