A simple recipe app built with Next.js and Supabase. Its primary objective is to be a personalised way to browse and view recipes, allowing fuzzy-finding, filtering based on ingredients and categories, ratings from a close group of friends, and more.
-
You'll first need a Supabase project which can be made via the Supabase dashboard
-
Clone this repo and open a terminal in the root directory
-
Compile the
cooklang-wasmcrate to WebAssembly (see the README incooklang-wasm). -
Create
.env.localand populate the following keys:NEXT_PUBLIC_SUPABASE_URL=[INSERT SUPABASE PROJECT URL] NEXT_PUBLIC_SUPABASE_ANON_KEY=[INSERT SUPABASE PROJECT API ANON KEY]Both
NEXT_PUBLIC_SUPABASE_URLandNEXT_PUBLIC_SUPABASE_ANON_KEYcan be found in your Supabase project's API settings -
You can now run the Next.js local development server:
yarn dev
Check out the docs for Local Development to also run Supabase locally.
To give a quick overview, this project uses:
- Next.js for UI focused on server rendering and static site generation
- Supabase for the database, storage, and authentication
- Cooklang as a markup language for defining recipes (using extensions from
cooklang-rs) - Tailwind CSS for styling
- shadcn/ui for UI components
- wasm-pack to generate WebAssembly from Rust