Add a self-serve registration (sign-up) flow so new users can create an account without admin provisioning, then complete payment on Stripe’s hosted Checkout.
Today the app has a production Sign In route (/signin/) but no first-class self-serve sign-up. Self-serve customers need to register and pay before (or as part of) getting access.
Requirements
New self-serve sign-up page (route + UI consistent with existing Sign In)
Collect account basics needed to create the user (email, password, any required profile fields)
Call backend to register the account, then start Stripe Checkout (redirect to Stripe — do not collect card data in-app)
Handle success / cancel return URLs from Stripe (confirm paid state, then land in app or show clear next step)
Link from Sign In (“Don’t have an account? Sign up”) and vice versa
Validation, error states, and loading states matching existing auth UX
Tests for form validation and happy-path redirect to Checkout URL
Acceptance criteria
Public /signup/ (or equivalent) route wired in App.tsx
User can register without admin intervention
After register (or as next step), user is sent to Stripe Checkout to pay
Success path returns user into authenticated app (or clear “payment received” + sign-in)
Cancel path returns without charging and explains how to retry
Sign In ↔ Sign Up navigation links present
Unit/integration tests for core flow
Notes
Card entry happens only on Stripe
Backend finance app owns Invoice/Payment persistence and webhooks
Exact field set / plan selection UI can stay minimal for MVP (single subscription from backend settings)
## Summary
Add a self-serve registration (sign-up) flow so new users can create an account without admin provisioning, then complete payment on Stripe’s hosted Checkout.
Depends on / pairs with: `chat_backend` finance + Stripe ticket (invoices, payments, Checkout session API).
## Context
Today the app has a production **Sign In** route (`/signin/`) but no first-class self-serve **sign-up**. Self-serve customers need to register and pay before (or as part of) getting access.
## Requirements
- New self-serve **sign-up** page (route + UI consistent with existing Sign In)
- Collect account basics needed to create the user (email, password, any required profile fields)
- Call backend to register the account, then start Stripe Checkout (redirect to Stripe — do **not** collect card data in-app)
- Handle success / cancel return URLs from Stripe (confirm paid state, then land in app or show clear next step)
- Link from Sign In (“Don’t have an account? Sign up”) and vice versa
- Validation, error states, and loading states matching existing auth UX
- Tests for form validation and happy-path redirect to Checkout URL
## Acceptance criteria
- [ ] Public `/signup/` (or equivalent) route wired in `App.tsx`
- [ ] User can register without admin intervention
- [ ] After register (or as next step), user is sent to Stripe Checkout to pay
- [ ] Success path returns user into authenticated app (or clear “payment received” + sign-in)
- [ ] Cancel path returns without charging and explains how to retry
- [ ] Sign In ↔ Sign Up navigation links present
- [ ] Unit/integration tests for core flow
## Notes
- Card entry happens only on Stripe
- Backend finance app owns Invoice/Payment persistence and webhooks
- Exact field set / plan selection UI can stay minimal for MVP (single subscription from backend settings)
Related follow-on (post sign-up billing on Account + Stripe Customer Portal for plan changes/cancellations): ai_ml_operations/chat_web_app#33
https://git.aimloperations.com/ai_ml_operations/chat_web_app/issues/33
Also references finance MVP: ai_ml_operations/chat_backend#21
FE Sign In / Sign Up should gain SSO buttons as part of that work (alongside email/password flow here).
Related: SSO for registration/sign-in (Google / Microsoft) tracked on backend — ai_ml_operations/chat_backend#24
https://git.aimloperations.com/ai_ml_operations/chat_backend/issues/24
FE Sign In / Sign Up should gain SSO buttons as part of that work (alongside email/password flow here).
Blocking a user prevents them from interacting with repositories, such as opening or commenting on pull requests or issues. Learn more about blocking a user.
Summary
Add a self-serve registration (sign-up) flow so new users can create an account without admin provisioning, then complete payment on Stripe’s hosted Checkout.
Depends on / pairs with:
chat_backendfinance + Stripe ticket (invoices, payments, Checkout session API).Context
Today the app has a production Sign In route (
/signin/) but no first-class self-serve sign-up. Self-serve customers need to register and pay before (or as part of) getting access.Requirements
Acceptance criteria
/signup/(or equivalent) route wired inApp.tsxNotes
Backend companion: ai_ml_operations/chat_backend#21 (
financeapp + Stripe invoices/payments).Related follow-on (post sign-up billing on Account + Stripe Customer Portal for plan changes/cancellations): ai_ml_operations/chat_web_app#33
#33
Also references finance MVP: ai_ml_operations/chat_backend#21
Related: SSO for registration/sign-in (Google / Microsoft) tracked on backend — ai_ml_operations/chat_backend#24
ai_ml_operations/chat_backend#24
FE Sign In / Sign Up should gain SSO buttons as part of that work (alongside email/password flow here).