Do you use food? Do you use software? Brenna's Food Software is for you!
Your face is a
cookbookfood software!
- Node >=20
- pnpm as the package manager
This is a Next.js project bootstrapped with create-next-app
.
The easiest way to get the correct version of node is to use nvm
(see https://github.com/nvm-sh/nvm ) then nvm install
and nvm use
to set.
If you don't already have pnpm
installed globally as the package manager, you can enable it (assuming you have the correct version of node above) by running corepack enable pnpm
.
Then, install all the project dependencies with pnpm install
.
First, the app won't do much unless you have an API (see https://github.com/folded-ear/gobrennas-api) running as well. You'll also need to copy .env.example
to .env
, updating the values if you changed any default configuration.
Then start the client with pnpm run dev
.
Open http://localhost:4000 with a browser to see the result.
Unit tests are set up with vitest and can be run with pnpm test
(or pnpm run test
).
There is a storybook instance to browse the project component library and pages. It can be run with pnpm run storybook
Run pnpm run build
Now you'll have a nice ready-to-deploy website in the build
directory! And
it's useless without an API to connect to.
The component library is based on using shadcn to create new components. Rather than a library where a whole suite of components are imported at once, this system generates a component into the code base via either a CLI or simply cut-and-paste via a standard pattern. Under the hood, a headless component (in most cases, RadixUI) is installed as a dependency, styled with defaults.
The components are managed independently and can be customized at will.
Tailwind is the css solution, along with Tailwind Variants for easily managing style variants. I dunno -- I am still learning it myself so I'll let you know how it goes.