GV

GeezerVison

The World Wide Web, restored to 800 pixels of glory.

Home|About|Gaming cabinet|Archives|How it works|Starter sites

On this site

  • Sign in
  • ActionsCI/CD and automation
  • CodespacesCloud development environments
  • All Features
  • Documentation
  • Training
  • Certifications
  • Build with Copilot
  • Customize Copilot
  • Integrations
  • Trending repos
  • GitHub Sponsors
  • Developer articles
  • Enterprises

This view

  • Original page
  • New address

GeezerVison is showing github.com — GitHub - staart/api: 🏁🛠️ SaaS backend & API framework based on @nestjs

This repository was archived by the owner on Apr 19, 2023. It is now read-only.
BranchesTags
Open more actions menu

Latest commit

 

History

4,493 Commits
4,493 Commits

Folders and files

NameName
Last commit message
Last commit date
.github
.github
 
 
docs
docs
 
 
http
http
 
 
prisma
prisma
 
 
src
src
 
 
static
static
 
 
tests
tests
 
 
.dockerignore
.dockerignore
 
 
.eslintrc.js
.eslintrc.js
 
 
.gitignore
.gitignore
 
 
.npmignore
.npmignore
 
 
.prettierrc
.prettierrc
 
 
.templaterc.json
.templaterc.json
 
 
CHANGELOG.md
CHANGELOG.md
 
 
Dockerfile
Dockerfile
 
 
LICENSE
LICENSE
 
 
README.md
README.md
 
 
heroku.yml
heroku.yml
 
 
jest.config.js
jest.config.js
 
 
nest-cli.json
nest-cli.json
 
 
package-lock.json
package-lock.json
 
 
package.json
package.json
 
 
release.config.js
release.config.js
 
 
tsconfig.build.json
tsconfig.build.json
 
 
tsconfig.json
tsconfig.json
 
 

Repository files navigation

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

  • Getting started
  • Setting up environment variables
  • Creating a controller
  • Updating Staart
  • Response headers
  • Throwing errors
  • Authorization
  • API key authentication
  • Redirects
  • Serving static files

View docs site →

View TypeDoc →

View API demo →

View frontend demo →

🏗️ Built with Staart

  • Oswald Labs Platform
  • Speakup Developer
  • Add your Staart-based project

🏁 Staart Ecosystem

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

  • Code: MIT
  • Logo and assets: CC BY 4.0
  • GeoLite2: CC BY 4.0
  • GeoNames: CC BY 3.0

About

🏁🛠️ SaaS backend & API framework based on @nestjs

staart.js.org/api

Topics

adminauthnestnestjsnodejssaassaas-startupsstaartstarter-kitstripetypescript

Resources

Readme
MIT license

Code of conduct

Code of conduct

Contributing

Contributing

Security policy

Security policy
Activity
Custom properties

Stars

1.2k stars

Watchers

1 watching

Forks

208 forks
Report repository

Releases

Used by

Contributors

Languages

You are visitor 01402503 — GeezerVison does not store the pages you look up.
Best viewed with Netscape Navigator 4.7 or Internet Explorer 6 at 800×600. No cookies required.