Skip to content

Congo Coin is an online platform that empowers entrepreneurs to fund their projects.

License

Notifications You must be signed in to change notification settings

chrismatgit/congo-coin-v1

Repository files navigation

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

About The Project

Congo Coin is an online platform that empowers entrepreneurs to fund their projects.

How does it work? Behind the scene, there is a smart contract that allows us to manage different transactions.

Create a campaign:

  • To create a campaign, the user will need to connect to a wallet using Metamask the first time he lands on the website. The user should make sure that he has a connection to a network. The user should have some ether in the wallet with the linked account. Finally, the user should be able to see existing open campaigns.
  • After that, he can create a campaign by clicking the blue button "Create Campaign" or by clicking"+" in the header. The user should be able to put a minimum contribution in "Wei" and click on "Create" button. The user should be able to see the MetaMask notification asking to confirm the transaction. If the user "confirms" and has enough ether, he will be redirected to the Home page and see the created campaign. (In case of any error, The user will receive a notification).

Contribute to a campaign:

  • To contribute to a "campaign", the user should be connected. (ref: first Boulet of creating a campaign)
  • The user puts the amount of ether in the field "Amount to Contribute" and then clicks the blue button "Contribute!" (In case of any error, The user will receive a notification).
  • By clicking the "confirm" button, the user automatically becomes an "approver" and should see the number of approvers and campaign balance incremented.

Request: A request is created by the Owner of the "campaign" to move money for different activities related to the campaign. To create a request, the user should give provide:

  • The description: the campaign owner should provide a well-detailed explanation of why he needs to make the transaction)
  • The Recipient address: I assume the recipient is officially known to the public.
  • After clicking to "create", The user should be able to see the MetaMask notification asking to confirm the transaction. If the user "confirms" and has enough ether, he will be redirected to the request page and see the created request. (In case of any error, The user will receive a notification).
  • To approve a request a user should be an "approver" (He should have contributed in the past to the campaign)
  • Only the campaign owner can finalize a request after getting enough approval(half plus one of the approvers and above of contributors)
  • Note that the color differs for different statuses of a request. (Black = initiated but does not have enough approval. Green = has enough approval and is ready to be finalized. Gris = the request has been finalized)

Built With

  • Next
  • React
  • Bootstrap
  • Solidity

(back to top)

Getting Started

To get a local copy up and running follow these simple example steps.

Prerequisites

This is an example of how to list things you need to use the software and how to install them.

  • npm
    npm install npm@latest -g

Installation

Below is an example of how you can instruct your audience on installing and setting up your app. This template doesn't rely on any external dependencies or services.

  1. Get a free API Key at https://infura.io and create a wallet at https://metamask.io
  2. Clone the repo
    git clone https://github.com/chrismatgit/congo-coin-v1.git
  3. Install NPM packages
    npm install
  4. Add your env config: .env
    MNEMONIC=""
    INFURA_URL=
    DEPLOYED_ADDRESS=
    

(back to top)

Contributing

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.txt for more information.

(back to top)

Contact

Chris Matabaro - @chris_matabaro

Code Link: https://github.com/chrismatgit/congo-coin-v1

Project Link: https://congo-coin-drc.vercel.app/campaigns/about

(back to top)

About

Congo Coin is an online platform that empowers entrepreneurs to fund their projects.

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published