There are some different components needed for running this application.
Ganache CLI
Python3 & Python Virtual Env (for instantiating chaincode)
NodeJS v10.20.1+ (for React FrontEnd)
Chrome with Metamask Extension
1. ganache-cli -e 100000
2. Choose a private key displayed when ganache starts up, add this as an imported account in the metamask plugin (gives you ether for the local blockchain)
2. Inside smart contracts folder, start python virtual env
3. Install requirements (Solidity 0.5.12 compiler is also needed) and run python start_up.py
4. This will output a contract address. This needs to be added to the file web/src/Middleware/SmartContractABI in the variable EVENT_CONTRACT_ADDRESS
5. Move to the web folder. Run npm start. This will bring up the web Front End.
6. Create Events and test the application. You can switch metamask accounts to mimic behaviour between multiple users
There is a python flask application that can be used for debugging chaincode functionality. This can be run using python app.py 8080