Table of Contents
Welcome to Schain`, your number one platform to track your order along the supply chain process on the blockchain.
We're dedicated to giving you the very best of your order, with focus from time of order and every other updates about the order as it moves along the processes of the supply chain all happening on the blockchain.
Founded in 2022, by Sympodium, Schain` has come a long way from its beginnings in Ghana. When Albert, Sarkodie and Brilliant first started out with Schain, the passion for solving supply chain problems with blockchain drove them to undertake several researches so that Schain can offer the very best services it does now along the supply chain of many organizations here in Ghana and abroad and we are thrilled that we are able to turn our passion into such a revolutionary solution in supply chain.
There are about six (6) user types (that is customer, administrator, manager, manufacturer, tester and transporter) that is captured on the platform. Among the six (6) types, user cannot perform an activity of the other user type unless assigned to that role by the administrator. The customer only can make an order(s) and track them as they move along the supply chain process on the blockchain to get updated. The customer can also add reviews on an order and also cancel an order. Below are steps the customer can undertake to make an order:
- Connect to the app with preferred wallet.
- Click on the "add order button" and fill in the details of the order.
- Click on the order to view the supply chain process or the state of your order.
The Administrator is the user in charge of assigning roles to other users as user type to undertake an action in the supply chain. These roles assigned to a user type, can be overridden by assigning same role to another user of different account. The Administrator can as well add products to the platform by adding the product media, the price of the product and any other details which all will be available to customers. to access the admin panel use the following; username:"admin" password: "63CkBcD{B),M;h2>"
The Manager is the first user type in the supply chain process to approve an order(s) as received to be set up for the next step in the supply chain process.
The Manufacturer undertake his or her activities with regards to an order(s) and then confirms it once done for the next step of the supply chain process.
The Tester undertakes testing activities with regards to an order(s) and then confirms it for the next step of the supply chain process.
The Transporter undertake dispatching activities with regards to an order(s) to be delivered to customers. And once delivered to the customer, he or she confirms the delivery.
All these processes can be seen by the customer with regards to an order(s). And once the customer receives the item, he or she has the liberty to accept the orders or return it.
This section should list any major frameworks/libraries used to bootstrap your project. Leave any add-ons/plugins for the acknowledgements section. Here are a few examples.
The project consist of the backend and also the front end.
-
nodejs installed
-
npm
npm install npm@latest -g
To run this project locally, follow these steps.
- Clone the project locally, change into the directory, and install the dependencies:
git clone https://github.com/mendsalbert/schain
cd schain
# install using NPM or Yarn
npm install
# or
yarn- Start the local Hardhat node
npx hardhat node- With the network running, deploy the contracts to the local network in a separate terminal window
npx hardhat run scripts/deploy.js --network localhost- Start the app
npm run dev
To deploy to Polygon test or main networks, update the configurations located in hardhat.config.js to use a private key and, optionally, deploy to a private RPC like Infura.
/* hardhat.config.js */
require("@nomiclabs/hardhat-waffle");
const fs = require("fs");
const privateKey = fs.readFileSync("secret.txt").toString();
const projectId = "745fcbe1f649402c9063fa946fdbb84c";
module.exports = {
defaultNetwork: "hardhat",
networks: {
hardhat: {
chainId: 1337,
},
// unused configuration commented out for now
kovan: {
url: "https://kovan.infura.io/v3/745fcbe1f649402c9063fa946fdbb84c",
accounts: [privateKey],
gas: 2100000,
gasPrice: 8000000000,
},
},
solidity: {
version: "0.8.4",
settings: {
optimizer: {
enabled: true,
runs: 200,
},
},
},
};If using Infura, update .infuraid with your Infura project ID.
Contributions are what make the open source community such an amazing place to learn, inspire, and create. Any contributions you make are greatly appreciated.
If you have a suggestion that would make this better, please fork the repo and create a pull request. You can also simply open an issue with the tag "enhancement". Don't forget to give the project a star! Thanks again!
- Fork the Project
- Create your Feature Branch (
git checkout -b feature/AmazingFeature) - Commit your Changes (
git commit -m 'Add some AmazingFeature') - Push to the Branch (
git push origin feature/AmazingFeature) - Open a Pull Request
Distributed under the MIT License.
Mends Albert - @mendsalbert - mendsalbert@gmail.com
Brilliant Kwakye - @a_moah__
Daniel Sarkodie - @AbrantepaSark
Project Link: https://github.com/mendsalbert/sympodiumCoin
Use this space to list resources you find helpful and would like to give credit to. I've included a few of my favorites to kick things off!
