First Run
Signing in with a magic code, the seeded demo account, and what you will see.
One Shot has no passwords. Every sign-in, yours and your future users', is either a one-time code sent by email or a Google/Apple sign-in button. On your first run, this means signing in takes one extra step compared to typing a password, and it's worth seeing that step happen once before you build anything on top of it.
Signing in with a magic code
Go to http://localhost:3000 and start a sign-in with any email address. In development, the app
doesn't actually send that email anywhere: it opens in your browser automatically, through a gem
called letter_opener. Open the message, copy the six-digit code, and enter it on the verification
screen. That's the whole flow, and it's the same flow a real user goes through in production, just
delivered by letter_opener instead of Resend.
The first time an email address signs in, it creates both a User and an Account together, in
one transaction. There's no separate signup step: signing in for the first time is signing up.
See Accounts and Tenancy for why that single chokepoint
matters.
Or use the two seeded accounts
bin/setup seeds two demo accounts so you don't have to go through the email flow just to look
around:
[email protected]: a member with a subscription already active, so you can see what a paying workspace looks like without touching Stripe.[email protected]: an admin, exempt from entitlement checks, useful for seeing what an admin can reach that a regular member can't.
Request a sign-in code for either address the same way as any other email; the code still opens in
letter_opener.
What you'll see
Once you're signed in, you land on the dashboard. From there you can look at:
- Settings, where account-level preferences and the GDPR data export/delete flow live.
- Pricing, which reads live from whichever billing mode is active (Local fake or real Stripe).
- Projects, the example account-scoped, billed resource. It exists purely as a working template
to copy from, and
bootstrap-appremoves it once you start building your real product; see Adding a Resource.
Next
Run bin/check to confirm the whole install is healthy: Verifying Your Setup.