The usual process for Next.js based apps/websites:
-
Install node modules:
$ pnpm i
-
Get the .env variables from Vercel (check
.env.template
), after installing Vercel CLI:$ vc link
$ vc env pull
-
run development environment:
$ pnpm dev
- Lenis
- Tempus
- Hamo
- PNPM
- Next.js
- Three.js
- @react-three/drei
- @react-three/fiber
- GSAP
- Sass (Modules)
- Zustand
- GraphQL (CMS API)
- @svgr/webpack (SVG Imports in
next.config.js
)
- Eslint (Next and Prettier plugins)
- Prettier with the following settings available in
.pretierrc
:{ "endOfLine": "auto", "semi": false, "singleQuote": true }
- Lefthook
Alongside the usual Next.js App Router folder structure (/public
, /app
, etc.) We've added a few other folders to keep the code easier to read:
- /components: Reusable components with their respective Sass file
- /docs: Readmes on how to use third party tools at darkroom
- /hooks: Reusable Custom Hooks
- /libs: Reusable Scripts and State Storing, hubspot integration, sass utils, etc.
- /styles: Global styles and Sass partials