Skip to content

bishakhne0gi/TenderFloww

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

44 Commits
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Hack For Bengal Season 2 - TenderFlow

Logo

Decentralized auction for getting tenders

📹 Watch Demo Video
📺

Use this readme to get started with this project


Blog · Report Issues · Request Feature

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

🤩🤩 About The Project 🤩🤩

2023-07-10.14-09-13_Trim.mp4

💭 Inspiration

  • Tamper-Resistant Data: In centralized systems, the data is vulnerable to easy tampering and modification since there is a single entity or central authority controlling it. This poses a significant risk to the integrity of the data. By adopting a decentralized approach, we can leverage blockchain technology to ensure that data remains tamper-resistant and immutable.
  • Transparency in Tendering: The current process of calling for tenders is often lengthy, manual, and lacks transparency, leaving ample room for corruption. By developing a bidding platform, we aim to bring transparency to the forefront of the tendering process. Through digitalization and automation, we can streamline the process, promote fairness, and minimize opportunities for corruption.

⚙️ Use Case: Infrastructure Development

Infrastructure development projects, such as road construction, public transportation systems, or utility network expansion, often involve substantial budgets and require transparent tendering processes. However, the current centralized systems lack transparency and can be prone to corruption. By building a bidding platform for government tenders, we aim to bring transparency and accountability to infrastructure development projects. The platform will enable fair competition among contractors, ensure equal access to tender information, and provide an audit trail of the entire bidding process, minimizing the risk of corruption and favoritism.

Blockchain (one of the ways to implement decentralization) steps into the picture to solve our problems.

💡 What problem does the project solve?

  • The project addresses the challenge of inefficient and biased tender processes, particularly in the public and government sectors.
  • The DAPP (Decentralized Application) powered by FLOW blockchain provides a transparent and efficient auction system for tendering.
  • By utilizing the power of blockchain technology and NFTs (Non-Fungible Tokens), the project ensures a fair and unbiased distribution of tenders not only based on offering but also experience and qualifications.
  • The use of NFTs as a means of generating and storing agreements guarantees immutability and prevents any manipulation or favoritism.
  • With the implementation of this system, corruption and favoritism are eliminated, creating a level playing field for all participants in the tendering process.
  • By promoting transparency and accountability, the project fosters trust and transparency among stakeholders and ensures that tenders are awarded based on merit and expertise rather than biased decision-making.

🙌 Overview

  • On the landing page, See the listing of tenders posted by the government.
  • After clicking a specific tender participants can participate in an auction bid using the bidding portal.
  • After clicking the Register button, the user can log in using the Blockto wallet.
  • then they can bid on a tender using a flow
  • Upon the end of the Auction the bidding will be settled and the lowest bidder will be awarded an NFT that signifies the ownership of the tender
  • On the New Ledger page, users can create their custom fields and data and upload files.
  • On the admin panel government can create new bids and assign its metadata, which will be listed on the site
  • Admin can select the duration of the bid and upon end of Auction, the tender will be automatically awarded to the winner

💀 Challenges we ran into

  • Since blockchain is a fairly new technology, we faced difficulties in finding solutions for bugs due to a smaller community.
  • Cadence was pretty hard for us to learn and implement on that large scale, Resources was scarce too
  • Flow Testnet was crashing sometimes
  • Insufficient quota in our cloud account prevented us from creating a VPC network in GCP, causing problem in establishing a seamless connection between the Cloud SQL and VM instance.
  • Faced timeout errors with the Google Cloud Auth proxy, impacting the authentication process and causing disruptions in the project workflow.
  • Faces issue during private IP exposure and adjusting firewall settings were necessary steps to establish a successful connection between the two cloud services.

🔮 What's Next For Our Project

  • Restructuring the view vid and auction section for better readability and organization.
  • Optimization and minor bug fixes.

💻 Built With

React - JavaScript library for building UI

Vite - Frontend Build tool

Flow - Main decentralized, public layer blockchain

Cadence - Smart contract programming language

Filecoin - Decentralized storage network

GCP - Cloud service provider

Node.js - as the backend runtime

Express.js - as our backend framework

Docker - for containerization

Postman for documenting our APIs

.XYZ for our domain registry

Getting Started

To set up your project locally, follow these simple steps.

Prerequisites

You must have NPM (Node Package Manager), Flow CLI, and Docker installed in your system. If you don't, we've got you covered.

Installation

Follow the steps below to set up the project:

  1. Clone the repo

    git clone https://github.com/bishakhne0gi/TenderFloww.git
  2. Configure Client

    cd client
    npm install
  3. Install all the NPM packages

    npm install
  4. Configure .env file with the required settings

    Coming Soon
  5. Initialize Flow: Navigate to the client folder

    Flow init
  6. Install and Configure Flow CLI, create and add an account so that we can deploy contracts on the testnet

    flow accounts create \
     --key <your Public key from flow Cli>\
     --host access.devnet.nodes.onflow.org:9000 \
     --signer my-testnet-account

    For more information, refer to the testnet deployment guide.

  7. Deploy the project on your testnet using the following command

    flow project deploy
  8. Run the project

    npm start dev

Roadmap

  • Landing page
  • Login/SignUp component
  • Place bids
  • Admin panel
  • Adding smart contract
  • Building backend
  • Integrating both smart contract and backend
  • Integrate Filecoin

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

Contributing

If you have a suggestion that would make this project better, please fork the repo and create a pull request. You can also simply open an issue with the tag "improvement". Don't forget to star this project!

To contribute:

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

License

Distributed under the MIT License.

Contributors

Made with ❤️ by team Bugbyte

About

No description, website, or topics provided.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Contributors 4

  •  
  •  
  •  
  •