Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

chore: add recommended libraries and mention them under development docs #2822

Merged
Show file tree
Hide file tree
Changes from 1 commit
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
3 changes: 1 addition & 2 deletions docs/DEV.md
Original file line number Diff line number Diff line change
Expand Up @@ -3,13 +3,13 @@
Welcome to the Grants Stack development repository!
This repository houses the main three dApps that make up the Grants Stack ecosystem:


* [Builder](https://builder.gitcoin.co/)
* [Explorer](https://explorer.gitcoin.co/#/round/424/0x4473725beb9a9d503547d2fe677f4b5aa39b68f6)
* [Manager](https://manager.gitcoin.co/)

Each of these dapps is a single-page React application, and you can find their respective source code under the `/packages` folder.

If you are importing external libraries, please use the ones already added in the projects, or consider using one of the preferred options from this document: [LIBRARIES.md](./LIBRARIES.md)

While there is no central backend application, all three dApps rely on various external services for data reading and writing. These dependencies include:

Expand All @@ -24,7 +24,6 @@ While there is no central backend application, all three dApps rely on various e
5. **[Pinata](https://www.pinata.cloud/)**: Pinata is used to upload and pin files to IPFS, ensuring the availability of data.



Depending on the configuration in your local `.env` file, you can choose to use these services directly or opt for a local version of them.

For faster development and a more responsive feedback loop, we recommend setting up a local development environment instead of relying on testnets
Expand Down
25 changes: 25 additions & 0 deletions docs/LIBRARIES.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,25 @@
# Recommended libraries for use within Grants Stack

- data validation: https://github.com/colinhacks/zod
- unit testing: https://vitest.dev/
- client-side data fetching: https://swr.vercel.app/
- server-side fetch: https://github.com/npm/make-fetch-happen
- server-side sqlite3: https://github.com/WiseLibs/better-sqlite3
- sql querying: https://kysely.dev/
- server-side logging: https://github.com/pinojs/pino
- git hook management: https://github.com/evilmartians/lefthook/
- nodejs execution in dev: https://github.com/esbuild-kit/tsx
- nextjs - https://github.com/vercel/next.js
- react query - I prefer it over swr https://tanstack.com/query/latest/docs/react/comparison
vacekj marked this conversation as resolved.
Show resolved Hide resolved
- tailwind-variants - https://github.com/nextui-org/tailwind-variants
- made a utility function Component utility for polymorphic components nextui-org/tailwind-variants#112
- clsx - fastr and smaller than classnames https://github.com/lukeed/clsx
vacekj marked this conversation as resolved.
Show resolved Hide resolved
- merge classNames and easy to apply conditional classes
- zod - https://github.com/colinhacks/zod
vacekj marked this conversation as resolved.
Show resolved Hide resolved
- msw - https://github.com/mswjs/msw
- react-use - https://github.com/streamich/react-use
- Lot's of great utility hooks
- My favorite starter:
- create t3 app https://github.com/t3-oss/create-t3-app includes next, tailwind, trpc, zod
- Linting and formatting: BiomeJS (formerly Rome.tools)
- UI library for stuff like loading skeletons, dropdowns etc.: Chakra UI