/smart-chain

SmartChain is an opensource solution for supply chain tracking

Primary LanguageTypeScriptMIT LicenseMIT

Contributors Forks Stargazers Issues MIT License LinkedIn


Logo

SmartChain - Smart Supply Chain Solution

Management solution for supply chain.
Explore the docs »

View Demo · Report Bug · Request Feature

Table of Contents
  1. Our Team
  2. About The Project
  3. Getting Started
  4. Roadmap
  5. Contributing
  6. License
  7. Contact
  8. Acknowledgments

Our Team

  • Leader: Nguyen Hoang Duy - Github
  • Member: Nguyen Minh Hieu
  • Member: Nguyen Quoc Khanh
  • Supervisor: Do Van Tien

About The Project

Product Name Screen Shot Product Name Screen Shot

SmartChain is a smart solution to tracking your products (Supply Chain). It's providing services for farmers, transporters and retailers. All information can be stored in blockchain (ETH networks).

Features

  • User management: Administrators can control users and give access to the features of the system.
  • Product management: Farmers can create and manage products.
  • Batch management: Farmers can create and manage batches. Each product can create multiple batches.
  • Transporter management: Consumers can create and manage transporter's bills. Each transporter can update its bill information.
  • Retailer dashboard: Retailers can view the information of the products they have purchased.

(back to top)

Getting Started

You can run directly try by using this website. Or to get a local copy up, please running follow these simple example steps below.

Video instructions: Youtube

Prerequisites

You need to install Visual Studio and Docker first.

Installation

  1. Clone the repo
git clone https://github.com/hoangduy0610/smart-chain.git
  1. Deploy your smart contract to target network (I'm using sepolia ETH). You can use Remix IDE to deploy your contract. The contract can be found in SmartContract folder.
  2. Edit backend env file. You can follow this:
MODE=test
LOCK=true
SWAGGER_PASSWORD=Uit@1001
PORT=8798
LOGGER_ENABLE=true

APP_URL=https://smartchain.ddns.net/Frontend

DATABASE_HOST=mongodb+srv://admin:admin@mongodb/?retryWrites=true&w=majority&appName=supply-chain

EMAIL_FROM="SmartChain" <hoangduy06104@gmail.com>

REDIS_HOST=localhost
REDIS_PORT=14762
REDIS_USERNAME=default
REDIS_PASSWORD=12121212

MAIL_SMTP_HOST=smtp.gmail.com
MAIL_SMTP_PORT=587
MAIL_SMTP_USER=hoangduy06104@gmail.com
MAIL_SMTP_PASS=vndhsajhquirahs

OWNER_WALLET_SECRET=368e1ce2575281406f276156cb47f90131ef382e9b2d5b295e10de15f0953dab
PROVIDER_KEY=4YDWIK254REVXMNXQA6DYNRQ2XV6VZ7VP1
CONTRACT_ADDRESS=0xe003EA84cf279C158c04014078855D72173287d0
  1. Run docker
docker-compose --env-file docker.env up -d --build
  1. To restart all docker containers
docker restart $(docker ps -a -q)

Note: To create admin accounts, please enable test mode, and use swagger to create with endpoint /develop.

(back to top)

Roadmap

  • User Management
  • Product Management
  • Geolocation for transporters
  • Retailer dashboard
  • Analytics
  • Smart Contract fully-intergration

See the open issues for a full list of proposed features (and known issues).

(back to top)

Contributing

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!

  1. Fork the Project
  2. Create your Feature Branch (git checkout -b feature/AmazingFeature)
  3. Commit your Changes (git commit -m 'Add some AmazingFeature')
  4. Push to the Branch (git push origin feature/AmazingFeature)
  5. Open a Pull Request

(back to top)

License

Distributed under the MIT License. See LICENSE for more information.

(back to top)

Contact

Nguyen Hoang Duy (PO) - @hoangduy0610 - hoangduy06104@gmail.com

Project Link: https://github.com/hoangduy0610/smart-chain

(back to top)

Acknowledgments

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!

(back to top)