A fully working, simple SaaS starter: customer feedback boards with voting.
- Email/password signup and login
- Organization/workspace auto-created at signup
- Subscription status gate: free users can collect up to 3 feedback items; Pro unlocks more
- Public feedback board per workspace
- Dashboard to create, vote, track, and resolve feedback
- SQLite persistence with a schema that can move to Postgres later
- Smoke test that verifies signup, auth, dashboard, public board, feedback creation, and voting
cp .env.example .env
npm install
npm run init:db
npm run devThis starter intentionally uses a mock billing upgrade route for local development. Click Upgrade to Pro in the dashboard. Replace POST /billing/upgrade with Stripe Checkout before production.
- Move SQLite tables to Postgres.
- Swap session storage to Redis.
- Replace mock billing with Stripe webhooks.
- Add row-level org permissions to every future table.
- Deploy behind HTTPS with
SESSION_SECRETset.