---
title: "Partner Gallery"
description: "Postgres full-text search, image storage, and more."
url: "https://vercel.com/templates/next.js/supabase-partner-gallery"
links:
  repository: "https://github.com/supabase-community/partner-gallery-example"
  demo: "https://supabase.com/partners/integrations"
  deploy: "https://vercel.com/new/clone?demo-title=Partner+Gallery&demo-description=Postgres+full-text+search%2C+image+storage%2C+and+more.&demo-url=https%3A%2F%2Fsupabase.com%2Fpartners%2Fintegrations&project-name=supabase-partner-gallery-example&repository-name=supabase-partner-gallery-example&repository-url=https%3A%2F%2Fgithub.com%2Fsupabase-community%2Fpartner-gallery-example&demo-image=%2F%2Fimages.ctfassets.net%2Fe5382hct74si%2F7GbyMewklcjpxzTstAJNmW%2F3e1f6f958089fcc125cfed545601691c%2FCleanShot_2022-04-23_at_14.52.18_2x.png&integration-ids=oac_VqOgBHqhEoFTPzGkPd7L0iH6&external-id=https%3A%2F%2Fgithub.com%2Fsupabase-community%2Fpartner-gallery-example%2Ftree%2Fmain&root-directory=app"
---

# Partner Gallery

Postgres full-text search, image storage, and more.

An example Next.js website that shows Postgres Full Text Search, `next-image` with Supabase Storage, and sending emails based on an insert trigger with Supabase Edge Functions.

### How to Use

1. Create a new Supabase project, or use an existing one
2. Run the `schema.sql` file in the Supabase dashboard to create the relevant tables
3. Update the environment variables (either in Vercel or locally) with Supabase URL and Anon Key

- Locally: `cp app/.env.local.example app/.env.local`

4. Deploy Supabase Edge Function for contact form notifications:

```
supabase link --project-ref your-project-ref
supabase secrets set SMTP_HOSTNAME="your.hostname.com" SMTP_PORT="2587" SMTP_USERNAME="your_username" SMTP_PASSWORD="your_password" SMTP_FROM="no-reply@example.com" SMTP_TO="you@example.com" FUNCTION_SECRET="your-random-secret"
supabase functions deploy contact-notification
```

Note: `SMTP_PORT` must be a port other than `25`, `465`, and `587` as Deno Deploy does not support outgoing connections to ports. AWS SES (port 2587) is recommended.

5. Setup a Supabase Function Hook to trigger the function when a new row is inserted into `partner_contacts`
6. Insert partners into the `partners` table.
7. Celebrate together 🎉

## Related Templates

### [Stripe Subscription Starter](https://vercel.com/templates/next.js/subscription-starter)

The all-in-one subscription starter kit for high-performance SaaS applications, powered by Stripe, Supabase, and Vercel.

### [Next.js Boilerplate](https://vercel.com/templates/next.js/nextjs-boilerplate)

Get started with Next.js and React in seconds.

### [Create React App](https://vercel.com/templates/react/create-react-app)

A client-side React app created with create-react-app.

---

## Additional documentation

The [Vercel Knowledge Base](https://vercel.com/kb) contains guides and answers to common questions about Vercel, including deployment, framework configuration, domains, caching, and troubleshooting.
