Single Next.js App Router application that combines the marketing site, invite-only prototype, and admin dashboard.
Prototype platform for research and evaluation. Not medical advice. Not for emergency use.
npm install
cp .env.example .env
# edit .env
npx prisma migrate dev
npm run devOpen http://localhost:3000.
See .env.example for the full list. Required for most functionality:
DATABASE_URLAUTH_SECRETAUTH_TRUST_HOST=trueAUTH_RESEND_KEYEMAIL_FROMADMIN_API_KEYAPP_START_URLUPLOAD_LINK_URL
Visit /admin and enter the ADMIN_API_KEY to access pending requests, invites, and allowlist management. Actions send approval/invite emails with a one-click start link when configured with Resend.
- Auth.js v5 with Resend magic links
- Allowlist enforced in the server-side
signIncallback /api/allowlist/checkprevents sending emails to non-allowlisted addresses
Run migrations on deploy:
npx prisma migrate deploy- Create a Railway project from the GitHub repo.
- Add a PostgreSQL service.
- In the web service, set
DATABASE_URLto the Postgres serviceDATABASE_URLvariable. - Add env vars:
AUTH_SECRET,AUTH_TRUST_HOST=true,AUTH_RESEND_KEY,EMAIL_FROM,ADMIN_API_KEY,UPLOAD_LINK_URL,APP_START_URL. - Pre-deploy command:
npx prisma migrate deploy - Build command:
npx prisma generate && npm run build - Start command:
npm run start
- Contribute scans flow accepts raw DICOM immediately and de-identifies after receipt.
- If accepted for use, contributors receive a prepaid card delivered via email.