• Public
  • Public/Protected
  • All



Travis CI Netlify status Dependencies Contributors GitHub Vulnerabilities Type definitions

Staart is a Node.js backend starter for SaaS startups written in TypeScript. It has built-in user management and authentication, billing, organizations, GDPR tools, and more.

Works with Staart UI, the frontend starter for SaaS.

⭐ Features

🔐 Security

  • Authentication and user management with JWT
  • Two-factor authentication with TOTP
  • Setup multiple emails for each account
  • OAuth2 login with third-party accounts
  • Location-based login verification
  • Security event logging and history

💳 SaaS

  • Subscriptions management with Stripe
  • Organizations, teams, and user permissions
  • Invoices, billing, credit cards, payments
  • Rich HTML transactional emails with SES
  • GDPR-proof data export and delete
  • Affiliates and commission management
  • API key management with rate limiting

👩‍💻 Developer utilities

  • Decorators and class syntax with OvernightJS
  • Injection-proof helpers for querying databases
  • Data pagination and CRUD utilities for all tables
  • Authorization helpers (can a user do this?)
  • TypeScript interfaces for tables (ORM)
  • Caching and invalidation for common queries
  • User impersonation for super-admin
  • Easy redirect rules in YAML

🛠 Usage

  1. Fork this repository
  2. Install dependencies with yarn or npm i
  3. Add a .env file based on config.ts.
  4. Create MariaDB/MySQL tables based on schema.sql
  5. Add your controllers in the ./src/controllers directory
  6. Generate your app.ts file using yarn generate-routes
  7. Build with yarn build and deploy with yarn start


Staart comes with tens of helper and CRUD methods for users, organizations, and more.

View wiki docs →

View TypeDoc →

View API demo →

View frontend demo →

👥 Contributors

Thanks goes to these wonderful people (emoji key):

Anand Chowdhary
Anand Chowdhary

💻 📖 🎨


This project follows the all-contributors specification. Contributions of any kind welcome!

📄 License

Generated using TypeDoc