Bygg NeuroSemantics AI: minimal mobilapp, en backend, IaC och CI/CD

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
This commit is contained in:
Claude
2026-08-03 14:35:48 +00:00
parent 508cb534b0
commit 07fbeea09b
199 changed files with 13626 additions and 18001 deletions
+29
View File
@@ -0,0 +1,29 @@
/**
* The entire visual language. Off-white, near-black, one dark blue-green
* accent. Generous whitespace. No animations, no gradients.
*/
export const colors = {
background: '#F7F6F2',
text: '#16181A',
textMuted: '#6E7472',
accent: '#14554C',
accentText: '#F7F6F2',
border: '#E4E2DB',
surface: '#FFFFFF',
} as const;
export const spacing = {
xs: 4,
s: 8,
m: 16,
l: 24,
xl: 40,
xxl: 64,
} as const;
export const type = {
title: { fontSize: 28, fontWeight: '600', color: colors.text } as const,
heading: { fontSize: 17, fontWeight: '600', color: colors.text } as const,
body: { fontSize: 17, lineHeight: 26, color: colors.text } as const,
caption: { fontSize: 13, lineHeight: 18, color: colors.textMuted } as const,
} as const;