Skip to content

Latest commit

 

History

65 Commits

Folders and files

NameName
Last commit message
Last commit date
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Data Room

Data Room

Investor relations for a seed or Series A raise.
Next.js · Supabase · Vercel · MIT

Live demo · Onboarding · Deploy · Vercel + Supabase

CI License: MIT


A partner opens this between board meetings. They scan the numbers, open the room, download what they need. You see the session in /admin.

Fork it. Put your name, domain, and documents in. Deploy. Sample pages are templates — fill them from your books.

New here? docs/ONBOARDING.md is the full checklist (brand, fonts, Supabase, Google login, Vercel).

git clone https://github.com/emal-avala/data-room.git
cd data-room
./scripts/onboard.sh
bun install && bun dev    # http://localhost:3000

Live demo: data-room-coral.vercel.app — the Next.js app on Vercel (mock auth when Supabase is unset).

Deploy

Deploy with Vercel

Step What to do
1 Supabase project. SQL Editor: supabase/migrations/001_schema.sql, then supabase/seed.sql.
2 Auth → Google and/or Azure. Redirect https://<project>.supabase.co/auth/v1/callback. Site URL = your Vercel URL. App redirect = https://<app>.vercel.app/auth/callback.
3 Vercel env from .env.example. SUPERADMIN_EMAIL is the address you sign in with.
4 Deploy. Sign in. Open /admin. Sync documents. Approve the rest of the team on /admin/access.

docs/deploy/vercel-supabase.md · docs/deploy/environment-variables.md

What ships

Route What it is
/ Acme overview: metrics, why-now, recognized revenue, contracted yards.
/roadmap Path, next ship, competitive matrix.
/financials Books hub — P&L, forecast, pipeline, revenue by customer.
/docs, /docs/[slug] Data room. Registry: src/lib/documents.ts.
/company, /contact Founders, offices, risks, IR contact.
/login Google + Microsoft. New emails go to /pending-approval.
/admin Access queue, viewers, rooms, analytics.

How a viewer gets in:

  1. Middleware refreshes the Supabase session.
  2. Verified email on your domain, an env allowlist, an admin row, or an approved waitlist row.
  3. Each viewer maps to one fund and one room (core or full). A broken room shows zero documents.
  4. Decks and PDFs are stamped with their email. Files live in content/documents/, not public/.

ARCHITECTURE.md

Make it yours

Job File
Name, domain, accent .env.local / src/config/site.ts
Font src/app/layout.tsx
Colors src/app/globals.css + DESIGN.md
Copy docs/guides/branding.md
Documents docs/guides/add-document.md
Rooms docs/guides/dataroom-variants.md

Docs

Guide
Onboarding Brand → Supabase → Vercel
Vercel + Supabase Production
Environment variables Every key
Local development Supabase CLI
GitHub Pages (retired) Do not republish demo/
Branding Name, color, font, copy
Deck theme Ten-slide HTML deck + restyle
Add a document Registry + gating
Room variants Core vs full
Analytics Events, digest
Database Tables + RLS
Auth flow Login → room

Coding agents: AGENTS.md.

Layout

src/app/             Pages, admin, API
src/lib/             Auth, documents, rooms, analytics
src/config/          Company defaults
content/documents/   Decks and PDFs (not public/)
supabase/            Schema + seed
docs/                Onboarding and how-to
demo/                Local HTML snapshot (not a public host)
scripts/onboard.sh   Copy .env.example

License

MIT

About

Opensource investor data room template — gated documents, viewer analytics, and an admin console. Next.js + Supabase + Vercel.

Topics

Resources

Code of conduct

Contributing

Security policy

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages