Skip to content
Tumbula is an online marketplace that operates on the blockchain. There are a list of stores on a central marketplace where shoppers can purchase goods posted by the store owners.
CSS JavaScript HTML
Branch: master
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Permalink
Type Name Latest commit message Commit time
Failed to load latest commit information.
images
tumbula-store
.DS_Store
.gitignore
.travis.yml
LICENSE
README.md
avoiding_common_attacks.md
deployed_addresses.txt
design_pattern_decisions.md

README.md

Tumbula Store

Tumbula Store is an online marketplace that operates on the blockchain. There are a list of stores on a central marketplace where shoppers can purchase goods posted by the store owners.

High Level Architecture Diagram

Image of HighlevelArchitecture

Getting Started

These instructions will get you a copy of the project up and running on your local machine for development and testing purposes. Run to compile the contract. Ensure you have a local copy of a development blockchain e.g ganache running in the background for local testing.

truffle compile

Then

truffle migrate --network development

Prerequisites

You need to have ganache cli or ganache app which comes in the truffle suite, and npm installed,

You can run ganache-cli in the terminal or open the ganache app

ganache-cli

Copy the generated Mnemonic

Paste the mnemonic in Metamask to import the local accounts running on Ganache. Ensure metamask is listening on localhost.

Installing

You can install project dependencies from the root directory

npm install

To run the application frontend,

cd client
npm install
npm run start

Running the tests

You run tests on the root directory using truffle

Break down into end to end tests

These tests the smart contracts methods

truffle test

Deployment

The smart contract is deployed to the rinkeby testnet. The frontend application is hosted on a personal VPS.

  • Etherscan - Checkout the trasactions on etherscan by appending your address from Metamask to the link provided
  • React FrontEnd - Live front app

Built With

  • Truffle - Javascript suite for efficient smart contract development.
  • Mythx - Security analysis tool for smart contract development
  • Metamask - For the browser interaction, this is a chrome extension.
  • React - The Frontend framework used
  • Django - Backend framework used to build the API.

Authors

License

This project is licensed under the GNU Public License - see the LICENSE file for details

Acknowledgments

  • Consensys Academy - For providing well curated content that helped me gain greater blockchain understanding.
  • African Blockchain Allaince - For providing community support and sponsorship for the course.
  • Cryptosavannah - For the logistics and support.
  • My mentor @joshorig - For the endless support and guidance during the development of this project.
You can’t perform that action at this time.