Manual Installation
Overview
In case the installation script doesn't fit your needs or just because you feel adventurous (or maybe you want to clone the repo and start creating pull requests?), these are the steps to perform a manual installation:
Clone the repo
# Clone the repo
$ git clone git@github.com:BootNodeDev/dAppBooster.git
Create the .env file
Now move into the project's folder and create a .env.local
file.
# Create .env.local file
$ cd dAppBooster
$ cp .env.example .env.local
Install the dependencies
# Install everything
$ 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.
# Run in dev mode
$ 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.