Manual Installation
Overview
In case the installation script doesn't fit your needs these are the steps to perform a manual installation.
It's also the recommended procedure in case you're a dAppBooster developer.
Clone the repo
git clone git@github.com:BootNodeDev/dAppBooster.git dAppName
Move into the folder
cd dAppName
Branch checkout
The default branch is develop
, which is fine if you're developing new features or fixing bugs, but if you're developing a new product you probably want to checkout the production-ready main
branch:
git checkout main
Or you can get the last tag (usually, but not always, in sync with main
), which is what the install script does.
# fetch tags
git fetch --tags
# get the last tag
git checkout $(git describe --tags `git rev-list --tags --max-count=1`)
# create a new branch from the tag
git checkout -b new-branch
Create the .env file
Now move into the project's folder and create a .env.local
file.
cd dAppBooster
cp .env.example .env.local
Install the dependencies
pnpm i
This will install everything by default, so you'll have to configure and run a few things to get your app running: most importantly, you have to add a subgraph API key, provide all the subgraph-related env vars and then run the code generator. Otherwise the app will not work.
Check this section for extra info about configuring subgraphs and running the code generator.
Run the app
Now you can run the dApp in dev mode and open the link provided by this command in the browser.
pnpm dev
Optional packages
There are plenty of optional packages you can remove (tip: the installation script does this for you). We think these are useful and make for a better result and developer experience, but you might think different.
Keep reading if you want to remove some or all of these packages.
Subgraphs
If you don't need subgraph support, remove these packages:
pnpm remove @bootnodedev/db-subgraph graphql graphql-request @graphql-codegen/cli @graphql-typed-document-node/core
Also consider removing the related files and folders: src/subgraph
, src/components/pageComponents/home/Examples/demos/subgraphs
and the references in /src/components/pageComponents/home/Examples/index.tsx
Finally remove the subgraph-related scripts from package.json
Typedoc
If you don't need Typedoc:
pnpm remove typedoc typedoc-github-theme typedoc-plugin-inline-sources typedoc-plugin-missing-exports typedoc-plugin-rename-defaults
And remove the typedoc.json
file, typedoc
folder, and related scripts from package.json
Vocs
If you don't need Vocs:
pnpm remove vocs
And remove the vocs.config.ts
file, docs
folder, and related scripts from package.json
Husky
If you don't need Husky:
pnpm remove husky
And remove the .husky
folder and related scripts from package.json
pnpm remove @commitlint/cli @commitlint/config-conventional lint-staged
Biome
If you don't need Biome:
pnpm remove @biomejs/biome
And remove the biome.json
file and related scripts from package.json
Vercel analytics
If you don't need Vercel analytics:
pnpm remove @vercel/analytics
And remove the Analytics
import and tag in src/routes/__root.tsx
Testing
If you don't need automated testing:
pnpm remove vitest @testing-library/react @testing-library/jest-dom @testing-library/user-event @vitest/coverage-v8
And remove the setupTests.ts
file, all the *.test.tsx
and *.test.ts
files, and related scripts from package.json
Sitemap
If you don't need a sitemap:
pnpm remove vite-plugin-sitemap
And remove all references from vite.config.ts
Installation script
Remove the .install-files
folder.