Skip to content
/ DishCraft Public

One-stop store for all your recipes. Built for developers. Next.js, Drizzle ORM, Neon - Serverless Postgres, and TypeScript. Hosted on Vercel.

License

Notifications You must be signed in to change notification settings

T1LT/DishCraft

Repository files navigation

A recipe-sharing platform built for developers.

Technologies Used

Mobile Speed Insights on Moto G Power with Slow 4G Throttling

image

Desktop Speed Insights

image

Used Partial Pre-Rendering, App Router, Server Actions, and React Server Components in Next.js.

Development

  • Fork and clone the repo using git clone
  • Install the packages using npm i
  • Add environment variables as specified in the .env.example file.
  • Make sure ?sslmode=required is at the end of the POSTGRES_URL env variable.
  • For database migrations, use npx drizzle-kit generate:pg and npx drizzle-kit push:pg
  • Run these migrations manually by using npx drizzle-kit generate:pg --custom: CREATE EXTENSION IF NOT EXISTS pg_trgm;, CREATE INDEX IF NOT EXISTS trgm_idx ON recipes USING GIN (title gin_trgm_ops, cuisine gin_trgm_ops, category gin_trgm_ops);

Deployment

  • Make sure the Vercel project is connected to a Vercel Postgres (Neon) database.
  • Connect the project to a Vercel Blob store.
  • For rate limiting, add a Vercel KV (Upstash) database.
  • Run npx drizzle-kit push:pg to push changes to your database.
  • Update metadataBase in app/layout.tsx to match your target domain.

Contributing

  • Open an issue if you believe you've encountered a bug.
  • Make a pull request to add new features/make quality-of-life improvements/fix bugs.

About

One-stop store for all your recipes. Built for developers. Next.js, Drizzle ORM, Neon - Serverless Postgres, and TypeScript. Hosted on Vercel.

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages