07fbeea09b
Ersätter den tidigare webappen på denna branch med ett fokuserat monorepo: - apps/mobile: Expo/React Native med tre vyer (Welcome, Chat, Paywall), Cognito hosted UI-inloggning (Apple/Google/e-post) och In-App Purchase/Play Billing via en gemensam purchases-modul. - services/api: en enda Lambda-backend — OpenAI Responses API med Markdown-kunskapsbas som systeminstruktioner, free tier-gräns i PostgreSQL (HTTP 402 -> paywall) och kvittoverifiering bakom ett delat PaymentProvider-interface (Apple/Google, Stripe kan läggas till för webb senare). - infra: AWS CDK-stack med API Gateway (JWT-authorizer), Lambda, Cognito, Aurora Serverless v2 och Secrets Manager. - db/migrations: minimal datamodell (users + usage), inga konversationer sparas. - GitHub Actions: CI (lint, typecheck, test) och deploy från main. Co-Authored-By: Claude Fable 5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_0118DaxZR36RpnY524vRqx3z
17 lines
568 B
SQL
17 lines
568 B
SQL
-- Minimal schema. We store the absolute minimum:
|
|
-- no conversations, no profiling data.
|
|
|
|
create table if not exists users (
|
|
id text primary key, -- Cognito sub
|
|
email text not null,
|
|
provider text not null, -- 'apple' | 'google' | 'email'
|
|
subscription_status text not null default 'free', -- 'free' | 'active'
|
|
created_at timestamptz not null default now()
|
|
);
|
|
|
|
create table if not exists usage (
|
|
user_id text primary key references users (id) on delete cascade,
|
|
messages_used integer not null default 0,
|
|
last_reset timestamptz not null default now()
|
|
);
|