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.
Checkout the last tag
Start from the last tag. It is the current released version and the only starting point we consider valid for a new project. This 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-branchmain is the only branch, and it moves. Build on it if you want the newest work, but the last tag is the version we stand behind.
Create 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.
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-codegen/client-preset @graphql-typed-document-node/coreAlso consider removing the related files and folders: src/subgraphs, 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, the @graphql-codegen/cli entry from overrides in pnpm-workspace.yaml, and the pnpm subgraph-codegen step from .github/workflows/pr.yml
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 vocs wakuAnd remove the docs folder, which holds both vocs.config.ts and the site content, plus the docs:* scripts in package.json and the pnpm docs:build step in .github/workflows/pr.yml
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, the .lintstagedrc.format.mjs file, and related scripts from package.json
Knip
If you don't need Knip:
pnpm remove knipAnd remove the knip.json file, the knip script from package.json, and the pnpm knip step in .github/workflows/pr.yml
Renovate
If you don't want Renovate proposing dependency updates, remove the renovate.json file. It does nothing until the Renovate GitHub App is installed on your repository.
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.