Welcome to HQ20 create-hq20-dapp. With a couple of different templates from a basic setup for smart contracts development, a react webui and an api with cache server. This is great for every new project. Contains examples of tests, coverage, documentation generators, linters, etc.
Quick Overview
npx create-hq20-dapp my-app
cd my-app
npm start
The following templates are available:
- smart-contracts an example of a solidity smart contracts project
- react-webui using a create-react-app boilerplate with typescript and ethers.js connecting to a local network
- api an api with a cache server built with express.js and postgresql database, listening and caching events.
Usage
You’ll need to have Node 8.16.0 or Node 10.16.0 or later version on your local development machine (but it’s not required on the server). You can use nvm (macOS/Linux) or nvm-windows to switch Node versions between different projects.
To create a new app:
Yarn
yarn create hq20-dapp my-app
yarn create <starter-kit-package>
is available in Yarn 0.25+
It will create a directory called my-app
inside the current folder.
Inside that directory, it will generate the initial project structure and install the transitive dependencies:
my-app
├── README.md
├── node_modules
├── package.json
├── .gitignore
├── react-webui
│ ├── (to complete)
│ └── (to complete)
├── smart-contracts
│ └── (to complete)
└── api
└── (to complete)
No configuration or complicated folder structures, only the files you need to build your app.
Once the installation is done, you can open your project folder:
cd my-app
Inside the newly created project, you can run some built-in commands:
This is a step-by-step on how to get all the workspaces working, but of course, you might not want to run the android app, so, no need to install the dependencies on that workspace. Or, you might not want to start the cache server, so you can ignore steps 3, 5 and 6. That's up to you what to run. But whatever that is, it must be it the order shown above.
Repository updates
This repository has automatic updates, thanks to dependabot, with an exception to react-webui template. We choose to only allow to update react-scripts and security issues, with no automatic merges because that template highly relies on CRA.
Contributing
Pull requests are welcome. For major changes, please open an issue first to discuss what you would like to change.
Please make sure to update tests as appropriate.
License
Apache-2.0
Credits