{"id":30700771,"url":"https://github.com/nameisparker/blockchain-based-supply-chain-management","last_synced_at":"2025-09-02T12:51:58.024Z","repository":{"id":312043100,"uuid":"1046064718","full_name":"Nameisparker/BLOCKCHAIN-BASED-SUPPLY-CHAIN-MANAGEMENT","owner":"Nameisparker","description":null,"archived":false,"fork":false,"pushed_at":"2025-08-28T06:28:32.000Z","size":7421,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":0,"default_branch":"main","last_synced_at":"2025-08-28T13:06:12.416Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":null,"language":"JavaScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/Nameisparker.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null}},"created_at":"2025-08-28T06:16:10.000Z","updated_at":"2025-08-28T06:28:35.000Z","dependencies_parsed_at":"2025-08-28T13:07:45.651Z","dependency_job_id":"4e0b1c85-90ed-434b-b49c-bd77a45832ab","html_url":"https://github.com/Nameisparker/BLOCKCHAIN-BASED-SUPPLY-CHAIN-MANAGEMENT","commit_stats":null,"previous_names":["nameisparker/blockchain-based-supply-chain-management"],"tags_count":null,"template":false,"template_full_name":null,"purl":"pkg:github/Nameisparker/BLOCKCHAIN-BASED-SUPPLY-CHAIN-MANAGEMENT","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Nameisparker%2FBLOCKCHAIN-BASED-SUPPLY-CHAIN-MANAGEMENT","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Nameisparker%2FBLOCKCHAIN-BASED-SUPPLY-CHAIN-MANAGEMENT/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Nameisparker%2FBLOCKCHAIN-BASED-SUPPLY-CHAIN-MANAGEMENT/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Nameisparker%2FBLOCKCHAIN-BASED-SUPPLY-CHAIN-MANAGEMENT/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/Nameisparker","download_url":"https://codeload.github.com/Nameisparker/BLOCKCHAIN-BASED-SUPPLY-CHAIN-MANAGEMENT/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Nameisparker%2FBLOCKCHAIN-BASED-SUPPLY-CHAIN-MANAGEMENT/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":273287616,"owners_count":25078571,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","status":"online","status_checked_at":"2025-09-02T02:00:09.530Z","response_time":77,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":[],"created_at":"2025-09-02T12:51:55.563Z","updated_at":"2025-09-02T12:51:58.019Z","avatar_url":"https://github.com/Nameisparker.png","language":"JavaScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"# A Blockchain Based Supply Chain Management System\n\n## Hardhat Migration\nIn light of Truffle and Ganache's sunset, the project has been migrated to Hardhat. The old Truffle code  can be accessed from the `truffle_version` branch in this repository.\n\n## Dependencies\nBuilt upon the [Hardhat boilerplate code](https://github.com/NomicFoundation/hardhat-boilerplate), which helps integrate ReactJs with blockchain smart contracts.\n\nTools and versions used -\n\n- Node v20.12.0\n- npm v10.5.0\n- Hardhat v2.12.5\n- Ethers v5.4.7\n- Solidity v0.8.17\n- MUI v5.15.20\n\n## Code Structure\nThe ReactJs part of the code goes under `appfrontend`, smart contracts under `contracts`, and deployment configurations for these smart contracts under `scripts`.\n\nFrontend uses the compiled contracts to interact with them. The compiled contracts are stored in `appfrontend/src/contracts/` (as configured in the `deploy.js` file) and are accessed directly from the `.json` files.\n\nFrontend images for current state of the application are stored in the `images/currentstate` folder.\n\nTo know more about what's part of the frontend code, check out the README file in `appfrontend/`. \n\n## Getting Started\n\n### Install the Required Dependencies\n\n- Clone the project and run `npm install` in both the root and `appfrontend` folders. This should install all of the required dependencies.\n- Get the MetaMask browser extension. Create a test network that points to the local Hardhat network (http://127.0.0.1:8545/), import the Hardhat accounts into MetaMask and use them to access the application. Without MetaMask, the application asks users to download wallet extensions like [Coinbase](https://www.coinbase.com/wallet) or [Metamask](https://metamask.io).\n\n### Configure the Project\n\n- Open up the console in the root project directory and run a new local Hardhat network with `npx hardhat node` to work on a local chain.\n- Use Hardhat commands `npx hardhat compile` to compile the smart contracts, and `npx hardhat run scripts/deploy.js --network localhost` to deploy specifically to the `localhost` environment.\n- If updating any folder names in the frontend code, please note that the path for storing the compiled contracts might need to be modified in the `scripts/deploy.js` file.\n- The migrations should successfully go through and the local Hardhat node should be updated with the contract deployment details.\n \nFor more commands, please refer to Hardhat's [guides and tutorials](https://hardhat.org/tutorial).\n\n### Get the Frontend Running\nNavigate to the `appfrontend` folder and run `npm start`. This should start the application and open it up in `localhost:3000`. Register with one of the MetaMask accounts as either a producer, distributor, or a retailer. \n\n\u003cp align=\"center\"\u003e\n \u003cimg src=\"images/currentstate/interface.gif\" alt=\"Web Application GIF\" height=400/\u003e\n\u003c/p\u003e\n\n## Current Functionalities\nCurrently integrates with the available wallet address to carry out these functionalities and works only for one producer, distributor and retailer user accounts.\n\nIn general, users can -\n- update the status of batches,\n- view their basic profile details,\n- view the batch details after creation,\n- view active and sold (history) batches and their details.\n\nProducers can create batches of products and the rest of the users can buy and sell them.\n\n## Enhancements\nPlease check the repository's project board for ongoing and future enhancements.\n\n## Target State\n\n### Supply Chain Flow \n\u003cp\u003e\n \u003cimg src=\"images/Supply Chain Flow.png\" alt=\"Supply Chain Flow - BSCM\" height=400/\u003e\n\u003c/p\u003e\n\n### User Actions\n\u003cp\u003e\n \u003cimg src=\"images/User Actions.png\" alt=\"User Actions - BSCM\" height=400/\u003e\n\u003c/p\u003e\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fnameisparker%2Fblockchain-based-supply-chain-management","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fnameisparker%2Fblockchain-based-supply-chain-management","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fnameisparker%2Fblockchain-based-supply-chain-management/lists"}