An open-source initiative called the Blockchain-Powered Charity Donation Platform aims to update how charity donations are managed and tracked. Blockchain technology is being used in this initiative to securely and openly facilitate charitable donations. This platform guarantees that every gift is readily traceable, tamper-proof, and auditable in an age where openness and accountability are crucial.
To run this file:
-
Clone the repository: Execute
git clone https://github.com/Ag-hosh/Blockchain-Assignment.git
to acquire the project files. -
Install Dependencies: Utilize
pip install -r requirements.txt
to install all required dependencies. -
Start the Server: For Windows users, simply double-click the
./run.bat
batch file. Linux users should run the./run.sh
script. -
Access the Platform: Open your web browser and navigate to http://localhost:5000 to gain access to the web application.
The Blockchain-Powered Charity Donation Platform is constructed using a diverse technology stack that guarantees robust functionality and an optimal user experience:
-
Flask: Serving as the foundation of the web application, Flask is a lightweight web framework written in Python, managing routing and core functionality.
-
HTML, JavaScript, CSS: HTML defines the page structure, JavaScript adds interactivity and dynamic functionality, while CSS styles the user interface elements.
-
web3.js: This JavaScript library serves as an interface for interacting with the Ethereum blockchain. It facilitates communication with MetaMask, wallet balance retrieval, and transaction execution.
-
MetaMask: A browser extension that empowers users to manage Ethereum wallets and engage with Ethereum-based applications. It establishes a secure connection to the user's wallet, facilitating safe transactions.
-
lottie-player.js: This JavaScript library enhances the user experience by rendering animations through Lottie files, improving the visual appeal of transaction details popups.
The project's file structure is meticulously organized for clarity and ease of development:
-
Reports folder: It contains the report and the ppt for this assignment
-
run.sh / run.bat: A batch file employed to initiate the Flask server.
-
app.py: The primary Flask application file responsible for routing and serving web pages.
-
templates/index.html: This HTML file encompasses the user interface and JavaScript code for the Payment APP, the platform's core component.
-
templates/contact.html: An HTML file offering contact information and a user inquiry form.
-
templates/about.html: An HTML file providing comprehensive information about the project or organization, including its mission, team, and objectives.
-
templates/home.html: Serving as the main homepage of the website, this HTML file contains essential content and navigation elements for users.