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 dAppNameMove into the folder
cd dAppNameBranch 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 mainOr 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-branchCreate the .env file
Now move into the project's folder and create a .env.local file.
cd dAppBooster
cp .env.example .env.localInstall the dependencies
pnpm iThis 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 devOptional 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/coreAlso 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-defaultsAnd remove the typedoc.json file, typedoc folder, and related scripts from package.json
Vocs
If you don't need Vocs:
pnpm remove vocsAnd remove the vocs.config.ts file, docs folder, and related scripts from package.json
Husky
If you don't need Husky:
pnpm remove huskyAnd remove the .husky folder and related scripts from package.json
pnpm remove @commitlint/cli @commitlint/config-conventional lint-stagedBiome
If you don't need Biome:
pnpm remove @biomejs/biomeAnd remove the biome.json file and related scripts from package.json
Vercel analytics
If you don't need Vercel analytics:
pnpm remove @vercel/analyticsAnd 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-v8And 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-sitemapAnd remove all references from vite.config.ts
Installation script
Remove the .install-files folder.