Code Monkey home page Code Monkey logo

Staart API

Staart API is a Node.js backend starter for SaaS startups written in TypeScript. It has all the features you need to build a SaaS product, like user management and authentication, billing, organizations, GDPR tools, API keys, rate limiting, superadmin impersonation, and more.

Status
Build Node CI Snyk Vulnerabilities for GitHub Repo Dependencies Dev dependencies
PRs Pull Request Labeler PR Generator CI Merge PRs
Community Contributors GitHub Type definitions npm package version semantic-release

Staart API is build to work with Staart UI, the frontend PWA starter for SaaS startups.

⚠️ v3 BETA WARNING: The master branch and all 3.x releases are currently in beta. For production, use v1.x instead.

⭐ Features

πŸ†• New in v2

  • Casbin-powered permission management
  • JWT-powered single-use coupon codes
  • Redis-powered queues for outbound emails and logs
  • Cloud agnostic, no longer specific to AWS
  • Staart scripts for building and deploying
  • Async JSON response and smart controller injection

πŸ” Security

  • JWT-powered authentication and user management
  • TOTP-powered two-factor authentication (2FA)
  • OAuth2 login with third-party accounts
  • Location-based login verification
  • Security event logging and history

πŸ’³ SaaS

  • Stripe-powered recurring billing
  • Teams with managed user permissions
  • CRUD invoices, methods, transactions, etc.
  • Rich HTML transactional emails
  • GDPR-compliant data export and delete
  • API gateway with API keys and rate limiting
  • Domain verification with auto-approve members

πŸ‘©β€πŸ’» Developer utilities

  • OvernightJS-powered decorators and class syntax
  • Injection-proof helpers for querying databases
  • Data pagination and CRUD utilities for all tables
  • Authorization helpers
  • Caching and invalidation for common queries
  • User impersonation for super-admin
  • Easy redirect rules in YAML
  • ElasticSearch-powered server and event logs

πŸ›  Usage

  1. Use this template or fork this repository
  2. Install dependencies with npm install
  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 staart controllers
  7. Build with staart build and deploy with staart launch

Updating Staart

To update your installation of Staart, run the following:

staart update api

If you've used the "Use this template" option on GitHub, you might have to force pull from staart/api the first time since the histories wouldn't match. You can use the flag --allow-unrelated-histories in this case.

πŸ’» Docs

View docs site β†’

View TypeDoc β†’

View API demo β†’

View frontend demo β†’

πŸ—οΈ Built with Staart

The Staart ecosystem consists of open-source projects to build your SaaS startup, written in TypeScript.

Package
πŸ› οΈ Staart API Node.js backend with RESTful APIs Build status Docs npm package version
🌐 Staart UI Frontend Vue.js Progressive Web App Build status Docs npm package version
πŸ“‘ Staart Site Static site generator for docs/helpdesk Build status Docs npm package version
πŸ“± Staart Native React Native app for Android and iOS Build status Docs npm package version
🎨 Staart.css Sass/CSS framework and utilities Build status Docs npm package version
πŸ“¦ Staart Packages Helper functions and utility packages Build status Custom badge

πŸ’ Sponsors

The development of Staart projects is supported by these wonderful companies. Find us on OpenCollective


Oswald Labs

O15Y

Speakup

Netlify

Koj

πŸ“„ License

Staart's Projects

.github icon .github

Common GitHub files for Staart projects

api icon api

πŸπŸ› οΈ SaaS backend & API framework based on @nestjs

api-nest icon api-nest

🏁⚠️ DEPRECATED: Working repo for NestJS Staart API

css icon css

🏁🎨 Sass/CSS framework for SaaS startups

exprext icon exprext

β›³ Exprext is a Next/Nuxt-like framework for Express + TypeScript

license icon license

πŸ“„ Open-source your SaaS product using the Staart License

native icon native

πŸπŸ“± Native smartphone app starter for SaaS startups

packages icon packages

πŸπŸ“¦ Shared packages and resources for Staart's projects

site icon site

πŸπŸ“‘ Static site generator for landing pages, docs, and more

staart.js.org icon staart.js.org

πŸπŸ•ΈοΈ Landing page for O15Y's startup starters, Staart

ui icon ui

🏁🌐 Frontend Svelte PWA starter for SaaS startups

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    πŸ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. πŸ“ŠπŸ“ˆπŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❀️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.