Giter VIP home page Giter VIP logo

supply-chain's Introduction

Supply Chain Management

⚠️ Attention
This project is not maintained anymore. And may not work with latest ethereum.

Supply chain management on blockchain using Angular 4 + Truffle + IPFS + Ethereum

How to use

There are 2 small parts to successfully running this project.

Prerequisite

  1. Node.js
  2. IPFS
  3. Truffle Framework (npm install -g truffle or on linux sudo npm install -g truffle)
  4. Testrpc (npm install -g ethereumjs-testrpc or on linux sudo npm install -g ethereumjs-testrpc)

Part 1

  1. git clone https://github.com/shekhar-shubhendu/supply-chain.git
  2. cd supply-chain
  3. npm install
  4. npm install -g @angular/cli@latest (linux users might have to do: sudo npm install -g @angular/cli@latest)

Part 2

  1. Open a new terminal and start IPFS daemon with ipfs daemon
  2. Start testrpc in new terminal with testrpc -l 47000000000000.
  3. From inside the project directory run truffle compile to compile your contracts
  4. And truffle migrate to deploy those contracts to the network
  5. Now finally, start the project with npm start. Navigate to http://localhost:4200/. The app will automatically reload if you change any of the source files.
  6. Make sure there are no errors in browser console

Login

  1. This project uses your keystore file to login to the application.
  2. For now, the accounts that can login are hardcoded in auth.service.ts with there role. Future builds will feature a screen for proper role and account management.
  3. You can find the keystore for default accounts and there password in 'keys' folder.

URLs

  1. /login
  2. /retailer
  3. /distributor
  4. /manufacturer
  5. /supplier

Todo:

  1. Access IPFS from browser (Remove separate script for IPFS upload).

Technologies & Languages Used:

  1. Angular4 (Typescript/Javascript)
  2. Truffle (Solidity)
  3. IPFS
  4. Node.js
  5. Express

Acknowledgments

License

GNU GPLv3

supply-chain's People

Contributors

kj2797 avatar shekhar-shubhendu avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

supply-chain's Issues

where is the back end?

Hey
thanks for your sharing. I also can start your project, but I cant find the back-end part, there is only the front-end, and i cannot see where is store the data.

Error: CompileError: Error parsing /home/anupam/supply-chain/contracts/OrderRegistry.sol: ParsedContract.sol:77:53: ParserError: The state mutability modifier "constant" was removed in version 0.5.0. Use "view" or "pure" instead.

root@anupam-VirtualBox:/home/anupam/supply-chain# truffle compile pure
Compiling your contracts...

Error: CompileError: Error parsing /home/anupam/supply-chain/contracts/OrderRegistry.sol: ParsedContract.sol:77:53: ParserError: The state mutability modifier "constant" was removed in version 0.5.0. Use "view" or "pure" instead.
function getReport(string orderno, uint category) constant returns(string) {
^------^
Compilation failed. See above.
at async.whilst.error (/usr/local/lib/node_modules/truffle/build/webpack:/packages/truffle-compile/profiler.js:366:1)
at /usr/local/lib/node_modules/truffle/build/webpack:/packages/truffle-compile//async/dist/async.js:969:1
at next (/usr/local/lib/node_modules/truffle/build/webpack:/packages/truffle-compile//async/dist/async.js:5222:1)
at Promise.all.then.results (/usr/local/lib/node_modules/truffle/build/webpack:/packages/truffle-compile/profiler.js:348:1)
at
Truffle v5.0.9 (core: 5.0.9)
Node v8.10.0
root@anupam-VirtualBox:/home/anupam/supply-chain#

Not able to login.

After navigating to localhost my chrome console shows some error:
ERROR Error: Uncaught (in promise): Error: Contract has not been deployed to detected network (network/artifact mismatch) Error: Contract has not been deployed to detected network (network/artifact mismatch) at contract.js:419 at ZoneDelegate.webpackJsonp.../../../../zone.js/dist/zone.js.ZoneDelegate.invoke (zone.js:391) at Object.onInvoke (core.es5.js:3890) at ZoneDelegate.webpackJsonp.../../../../zone.js/dist/zone.js.ZoneDelegate.invoke (zone.js:390) at Zone.webpackJsonp.../../../../zone.js/dist/zone.js.Zone.run (zone.js:150) at zone.js:889 at ZoneDelegate.webpackJsonp.../../../../zone.js/dist/zone.js.ZoneDelegate.invokeTask (zone.js:423) at Object.onInvokeTask (core.es5.js:3881) at ZoneDelegate.webpackJsonp.../../../../zone.js/dist/zone.js.ZoneDelegate.invokeTask (zone.js:422) at Zone.webpackJsonp.../../../../zone.js/dist/zone.js.Zone.runTask (zone.js:195) at resolvePromise (zone.js:831) at resolvePromise (zone.js:788) at zone.js:892 at ZoneDelegate.webpackJsonp.../../../../zone.js/dist/zone.js.ZoneDelegate.invokeTask (zone.js:423) at Object.onInvokeTask (core.es5.js:3881) at ZoneDelegate.webpackJsonp.../../../../zone.js/dist/zone.js.ZoneDelegate.invokeTask (zone.js:422) at Zone.webpackJsonp.../../../../zone.js/dist/zone.js.Zone.runTask (zone.js:195) at drainMicroTaskQueue (zone.js:601) at ZoneTask.webpackJsonp.../../../../zone.js/dist/zone.js.ZoneTask.invokeTask [as invoke] (zone.js:502) at invokeTask (zone.js:1744)

Am I not able to login because of this error?
Also exactly what files are to uploaded as keystore and password?
Thanks

Report content

I tried making a transaction between supplier, manufacturer, and distributor and trying to see the content of the report. But could not see any content. I actually did not understand the reason for this, can you please help me out.

Unable to run the project

I am unable to run your project. I am getting an error, "cannot GET /" can you please tell me the problem.

Workflow help

Can someone help with the workflow. As in, in which order am I supposed to place the orders.

issue

How can we view the submitted data?

Nothing happening when i click submit

Nothing happening when i click submit. How do i view the submitted data and how do i access the submitted data by a different profile (like manufacturer or distributor) ?

unable to run the npm start

this is my error
so many times i'm facing this issues.
i didn't know to get a solution
ERROR in ./src/app/services/auth.service.ts
[1] Module not found: Error: Can't resolve '../../../build/contracts/UserRegistry.json' in '/home/kiruthika/newdapp/supply-chain/src/app/services'
[1] resolve '../../../build/contracts/UserRegistry.json' in '/home/kiruthika/newdapp/supply-chain/src/app/services'
[1] using description file: /home/kiruthika/newdapp/supply-chain/package.json (relative path: ./src/app/services)
[1] Field 'browser' doesn't contain a valid alias configuration
[1] after using description file: /home/kiruthika/newdapp/supply-chain/package.json (relative path: ./src/app/services)
[1] using description file: /home/kiruthika/newdapp/supply-chain/package.json (relative path: ./build/contracts/UserRegistry.json)
[1] no extension
[1] Field 'browser' doesn't contain a valid alias configuration
[1] /home/kiruthika/newdapp/supply-chain/build/contracts/UserRegistry.json doesn't exist
[1] .ts
[1] Field 'browser' doesn't contain a valid alias configuration
[1] /home/kiruthika/newdapp/supply-chain/build/contracts/UserRegistry.json.ts doesn't exist
[1] .js
[1] Field 'browser' doesn't contain a valid alias configuration
[1] /home/kiruthika/newdapp/supply-chain/build/contracts/UserRegistry.json.js doesn't exist
[1] as directory
[1] /home/kiruthika/newdapp/supply-chain/build/contracts/UserRegistry.json doesn't exist
[1] [/home/kiruthika/newdapp/supply-chain/build/contracts/UserRegistry.json]
[1] [/home/kiruthika/newdapp/supply-chain/build/contracts/UserRegistry.json.ts]
[1] [/home/kiruthika/newdapp/supply-chain/build/contracts/UserRegistry.json.js]
[1] [/home/kiruthika/newdapp/supply-chain/build/contracts/UserRegistry.json]
[1] @ ./src/app/services/auth.service.ts 13:19-72
[1] @ ./src/app/app.module.ts
[1] @ ./src/main.ts
[1] @ multi webpack-dev-server/client?http://localhost:4200 ./src/main.ts
[1] ERROR in ./src/app/services/contract.service.ts
[1] Module not found: Error: Can't resolve '../../../build/contracts/OrderRegistry.json' in '/home/kiruthika/newdapp/supply-chain/src/app/services'
[1] resolve '../../../build/contracts/OrderRegistry.json' in '/home/kiruthika/newdapp/supply-chain/src/app/services'
[1] using description file: /home/kiruthika/newdapp/supply-chain/package.json (relative path: ./src/app/services)
[1] Field 'browser' doesn't contain a valid alias configuration
[1] after using description file: /home/kiruthika/newdapp/supply-chain/package.json (relative path: ./src/app/services)
[1] using description file: /home/kiruthika/newdapp/supply-chain/package.json (relative path: ./build/contracts/OrderRegistry.json)
[1] no extension
[1] Field 'browser' doesn't contain a valid alias configuration
[1] /home/kiruthika/newdapp/supply-chain/build/contracts/OrderRegistry.json doesn't exist
[1] .ts
[1] Field 'browser' doesn't contain a valid alias configuration
[1] /home/kiruthika/newdapp/supply-chain/build/contracts/OrderRegistry.json.ts doesn't exist
[1] .js
[1] Field 'browser' doesn't contain a valid alias configuration
[1] /home/kiruthika/newdapp/supply-chain/build/contracts/OrderRegistry.json.js doesn't exist
[1] as directory
[1] /home/kiruthika/newdapp/supply-chain/build/contracts/OrderRegistry.json doesn't exist
[1] [/home/kiruthika/newdapp/supply-chain/build/contracts/OrderRegistry.json]
[1] [/home/kiruthika/newdapp/supply-chain/build/contracts/OrderRegistry.json.ts]
[1] [/home/kiruthika/newdapp/supply-chain/build/contracts/OrderRegistry.json.js]
[1] [/home/kiruthika/newdapp/supply-chain/build/contracts/OrderRegistry.json]
[1] @ ./src/app/services/contract.service.ts 14:20-74
[1] @ ./src/app/app.module.ts
[1] @ ./src/main.ts
[1] @ multi webpack-dev-server/client?http://localhost:4200 ./src/main.ts
[1]
webpack failed

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.