mirror of
https://github.com/jjbrunton/Sauci.git
synced 2026-10-31 18:19:43 +00:00
91 lines
2.5 KiB
Markdown
Executable File
91 lines
2.5 KiB
Markdown
Executable File
# Sauci
|
|
|
|

|
|

|
|

|
|
|
|
Sauci is a couples intimacy app where partners swipe question packs, match on shared interests, and chat about what they unlock together.
|
|
|
|
## What lives here
|
|
|
|
```
|
|
sauci/
|
|
├── apps/
|
|
│ ├── mobile/ # Expo React Native app
|
|
│ ├── admin/ # Admin dashboard (Vite + React)
|
|
│ ├── web/ # Marketing website (Next.js)
|
|
│ └── supabase/ # Supabase project (migrations, edge functions)
|
|
├── packages/
|
|
│ └── shared/ # Shared TypeScript types
|
|
```
|
|
|
|
## Core product flows
|
|
|
|
- **Couple pairing** via invite codes and profile linking
|
|
- **Question packs** with two-part phrasing and smart selection bias
|
|
- **Matches + chat** when both partners answer positively
|
|
- **Notifications** for new matches and messages
|
|
- **Subscriptions** via RevenueCat with couple-level premium sharing
|
|
|
|
## Prerequisites
|
|
|
|
- Node.js 20+
|
|
- npm 10+
|
|
- Supabase CLI (`npm install -g supabase`)
|
|
- Expo CLI (`npm install -g expo-cli`)
|
|
|
|
## Quickstart
|
|
|
|
```bash
|
|
npm install
|
|
npm run dev
|
|
```
|
|
|
|
## App commands
|
|
|
|
From each app directory:
|
|
|
|
- **Mobile** (`apps/mobile`): `npm run dev`, `npm run ios`, `npm run android`, `npm run web`
|
|
- **Admin** (`apps/admin`): `npm run dev`, `npm run build`, `npm run typecheck`
|
|
- **Web** (`apps/web`): `npm run dev`, `npm run build`, `npm run start`
|
|
|
|
## Environment setup
|
|
|
|
Copy the example files and fill in values:
|
|
|
|
- Mobile: `apps/mobile/.env.example`
|
|
- Admin: `apps/admin/.env.example`
|
|
- Web: `apps/web/.env.local.example`
|
|
|
|
## Supabase (local)
|
|
|
|
- Config lives in `apps/supabase/config.toml`.
|
|
- Use the Supabase CLI for local services and migrations.
|
|
|
|
## Scripts (root)
|
|
|
|
- `npm run dev` - run all apps in dev mode
|
|
- `npm run build` - build all apps
|
|
- `npm run lint` - lint all apps
|
|
- `npm run typecheck` - typecheck all apps
|
|
- `npm run clean` - clean build artifacts
|
|
|
|
## Docs
|
|
|
|
- Auth: `docs/authentication.md`
|
|
- Schema: `docs/schema.md`
|
|
- Pairing: `docs/couple-pairing.md`
|
|
- Questions: `docs/question-selection.md`
|
|
- Matches/notifications: `docs/match-notifications.md`
|
|
- Subscriptions: `docs/subscription-system.md`
|
|
- Mobile release guide: `apps/mobile/RELEASING.md`
|
|
|
|
## Tech stack
|
|
|
|
- **Mobile**: Expo (React Native)
|
|
- **Backend**: Supabase (Postgres, Auth, Edge Functions, Realtime)
|
|
- **Admin**: React + Vite
|
|
- **Web**: Next.js
|
|
- **Monorepo**: Turborepo
|
|
|