Skip to content

AdiRosenstock/DOMUS

Repository files navigation

DOMUS

Find Your Table — DOMUS connects guests who want community with hosts who open their homes for Shabbat dinners and cultural gatherings. Guests browse events, request to join, and hosts review profiles and approvals.

Live site: domusai.tech

Open source and attribution: This app relies on many libraries, frameworks, and community patterns (listed below). Anything not credited there is intended to be original work in this repository—application code, product copy, UX flows, and database design choices specific to DOMUS. When in doubt, check package.json / package-lock.json and the Acknowledgments & licenses section; preserve upstream licenses when copying new snippets (for example from shadcn/ui).

Links

Run locally

npm install
npm run dev

Configure Supabase (and any other required variables) in .env using the keys your project expects — see src/integrations/supabase/ for usage. Do not commit secrets.

For Borat chat, set one server-side key (backend env), not a client VITE_ key:

  • OPENROUTER_API_KEY (preferred), optionally OPENROUTER_MODEL
  • or GEMINI_API_KEY as fallback

Cloudflare deploy example:

wrangler secret put OPENROUTER_API_KEY

What we built vs. what we did not build

This section separates original work in this repository from reused open-source libraries, vendor SDKs, starter patterns, and external APIs. If something is not listed under “Original contributions,” assume it comes from a dependency, a documented starter, or a widely used community pattern (see Acknowledgments & licenses).

Original contributions (this project)

Unless noted otherwise in file headers, the following are authored for DOMUS on top of the stack below:

  • Product concept and UX: flows for landing, login/onboarding, browsing events (filters, distance, religion-aware browse), creating events, dashboards, profiles, event detail, calendar (host vs guest commitments), messages (match threads), and navigation — including copy, layout, and DOMUS-specific styling (src/routes/, src/components/Header.tsx, shared styles).
  • Application logic: routing, auth wiring, Supabase usage, forms, domain types, dashboard/messages store, unread/read helpers, chat assistant orchestration, browse city suggestions server function, and religion matching rules tailored to DOMUS (src/hooks/, src/lib/, src/contexts/, src/providers/, src/integrations/supabase/, route files under src/routes/).
  • Data and integration choices: how events, users, join requests, and messages are modeled and consumed in the app layer (including generated or hand-maintained types where applicable).

Generated files (for example TanStack Router’s src/routeTree.gen.ts) are outputs of tooling, not hand-written product code, but they are part of this repo’s build.

Not original to this repo (reused foundations)

  • Runtime frameworks and libraries listed in Acknowledgments & licenses — including React, TanStack Start / Router / Query, Vite, Tailwind CSS, Supabase JS client, form/validation libraries, charts, maps loader, calendar UI, and UI primitives.
  • UI component patterns in src/components/ui/ follow the shadcn/ui approach: Radix UI primitives, class-variance-authority, tailwind-merge, and clsx — adapted and composed for this app. Individual files may match or closely follow upstream examples; DOMUS-specific changes are still “ours,” but the underlying pattern and many snippets are community-sourced.
  • Starter / platform configuration from Lovable’s TanStack + Vite preset (see vite.config.ts and related packages) that wires plugins, aliases, and build behavior.
  • External HTTP APIs (see below): optional AI providers, geocoding, and map services — governed by those providers’ terms, not by this repo’s license alone.

If you extend DOMUS, preserve upstream license notices where required (especially when copying new blocks from shadcn/ui or other templates).


Acknowledgments & licenses

The project is built with open-source and commercial SDKs. Exact license texts live in each package under node_modules/<package-name>/ after npm install. The list below is for attribution and quick reference; it is not a legal substitute for reading those files or the projects’ official sites.

Software Role in DOMUS Project / notes
React UI runtime MIT
TanStack Start, TanStack Router, TanStack Query Full-stack routing, data fetching MIT
Vite Dev server and production build MIT
TypeScript Typed JavaScript Apache-2.0
Tailwind CSS & @tailwindcss/vite Utility-first styling MIT
Radix UI Accessible component primitives MIT
shadcn/ui (patterns) Composition and styling patterns for src/components/ui/ MIT
Supabase (@supabase/supabase-js) Backend-as-a-service client Apache-2.0
Zod Schema validation MIT
React Hook Form & @hookform/resolvers Forms MIT
Lucide (lucide-react) Icons ISC
date-fns Date utilities MIT
react-day-picker Calendar UI (src/components/ui/calendar.tsx, calendar route) MIT
Recharts Charts (if used in UI) MIT
Embla Carousel Carousels MIT
cmdk Command palette pattern MIT
Sonner Toasts MIT
Vaul Drawer component MIT
class-variance-authority Component variants Apache-2.0
tailwind-merge Tailwind class merging MIT
clsx Conditional className helper MIT
@googlemaps/js-api-loader Google Maps script loading (when used) Apache-2.0
i18n-iso-countries Country names / codes MIT
input-otp OTP input primitive MIT
react-resizable-panels Resizable panel layout MIT
tw-animate-css CSS animation utilities MIT
vite-tsconfig-paths Vite path aliases from tsconfig MIT
@vitejs/plugin-react React refresh in Vite MIT
@cloudflare/vite-plugin Cloudflare Workers / deploy integration (when used) See workers-sdk license
ESLint & plugins Linting MIT
Lovable (@lovable.dev/* in package.json) Vite/TanStack scaffold, cloud auth helper, related tooling See package metadata in npm and Lovable’s terms for your use case

External APIs & data sources (not npm packages)

These are called over HTTP from app or server code; follow each provider’s terms and attribution requirements when deploying.

Service Role in DOMUS
Supabase (hosted project) Auth, Postgres, Storage, Realtime
OpenStreetMap Nominatim Geocoding / distance sorting for browse (usage policy applies)
OpenRouter (optional) AI chat / browse city suggestions when OPENROUTER_API_KEY is set
Google Gemini (optional) AI assistant fallback when configured
Google Maps (optional) Maps when API keys are configured

Fonts: The app loads DM Sans and DM Serif Display from Google Fonts; usage is subject to Google Fonts terms.

Complete dependency tree: Run npm install and inspect package.json and package-lock.json (if present) for every direct and transitive package.


Scripts

Command Description
npm run dev Start Vite dev server
npm run build Production build
npm run preview Preview production build
npm run lint Run ESLint
npm run supabase:link Link Supabase CLI to project
npm run db:push Push local migrations to linked Supabase

About

DomusAI is a community-driven platform built at WildHacks 2026 that brings people together through intimate, real-world gatherings hosted in local homes.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors