Source: https://seerepo.com/docs/supabase
Markdown source: https://seerepo.com/docs/supabase.md
Description: How SeeRepo finds your Supabase tables, and which parts of your app read and write them.

# SeeRepo with Supabase

Supabase isn't a framework: it's where your data and your sign-in live. SeeRepo reads it inside whatever framework your app uses, most often [Next.js](/docs/nextjs).

## What SeeRepo reads

- **Your tables**, from the `create table` statements in your `supabase/migrations/*.sql` files. Each one is a **data model** on your map.
- **Who reads and writes them**, from your code's `.from('table').select()`, `.insert()`, `.update()`, `.upsert()` and `.delete()` calls. That's how a cable gets drawn from a part of your product to its data, with the verb **reads** or **writes to**.
- **Supabase as a service**, from the packages you import (`@supabase/supabase-js`, `@supabase/ssr`), your environment variables and its URLs. It shows on the right of your map with its logo.

## An example from our test bank

`vercel/nextjs-subscription-payments`, read at a fixed commit:

- 5 tables from `supabase/migrations/20230530034630_init.sql`: customers, prices, products, subscriptions and users
- Supabase found in 8 files, with its proof in `components/ui/AuthForms/OauthSignIn.tsx`

`Saasfy/saasfy`, a Next.js monorepo on Supabase, shows 26 screens, 28 actions and 4 API doors, with Supabase, Stripe and Resend as its services.

## Good to know

- Keep your migrations in the repo. The tables come from them: if your schema only lives in the Supabase dashboard, SeeRepo still sees your `.from('…')` calls, but can't list your tables with their file.
