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
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 migrate --network development
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
Copy the generated Mnemonic
Paste the mnemonic in Metamask to import the local accounts running on Ganache. Ensure metamask is listening on localhost.
You can install project dependencies from the root directory
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
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
- 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.
- Allan Katongole - Initial work - TumbulaStores
This project is licensed under the GNU Public License - see the LICENSE file for details
- 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.