Skip to content

Latest commit

 

History

History
92 lines (75 loc) · 2.81 KB

README.md

File metadata and controls

92 lines (75 loc) · 2.81 KB

Coffee Chain

logo

Coffee Chain is a decentralized blockchain app to directly connect specialty coffee producers and coffee shops all around the world, removing intermediaries and supporting fair trade.

Screenshots & features

Landing page

All available coffees

Coffee-detail page

Details of a particular coffee offer

Order

Payment

Getting Started

Prerequisites

  • Node
  • Npm

Set up the server and blockchain

Coffee Chain backend

Set up the client

  1. Clone the repo
$ git clone https://github.com/chinins/coffee-chain-frontend.git
$ cd coffee-chain-frontend
  1. Install dependencies
$ npm install
  1. Install and run IPFS daemon
$ npm install -g go-ipfs
$ ipfs daemon

To allow cross-origin for IPFS

$ ipfs config --json API.HTTPHeaders.Access-Control-Allow-Origin "[\"*\"]"
$ ipfs config --json API.HTTPHeaders.Access-Control-Allow-Credentials "[\"true\"]"
  1. Create a config.js file instead of example.config.js file and put google maps API key there
$ cd src
$ cp config.js example.config.js
  1. Run it
$ npm start

Tech Stack

Frontend

  • React - frontend framework
  • Redux - predictable state container for JavaScript apps
  • Emotion - CSS-in-JS library
  • Stripe - online payment system
  • EOS - blockchain infrastructure for decentralised apps

Backend

  • Koa - web framework for node.js
  • MySQL - relational database
  • Sequelize - promise-based ORM for Node.js
  • Redis - in-memory data structure store, used as a database, cache and message broker
  • Demux - state and side effect handling for blockchain applications
  • Stripe - online payment system
  • EOS - blockchain infrastructure for decentralised apps

Authors

Contributing

Contributions Welcome! This is an on-going project and external input and ideas will be gladly recieved!

License

This project is licensed under the MIT License, take it, have fun.