finds.dev← search

// the find

eddywashere/node-stripe-membership-saas

★ 690 · JavaScript · MIT · updated Sep 2018

This project is a boilerplate express app for creating a membership/subscription site with Stripe.

A boilerplate Express app wiring together Stripe subscriptions, MongoDB, Passport.js auth, and Mailgun for password reset emails. It targets developers who want a running starting point for a simple SaaS with a single paid tier and don't want to figure out the Stripe webhook plumbing themselves.

Stripe webhook handling is actually there — `stripe-events.js` middleware — which most toy starters skip entirely. The Mongoose plugin pattern for stripe-customer logic (`models/plugins/stripe-customer.js`) is a clean separation that keeps subscription state out of the main user model. Session-based auth with Passport is straightforward and appropriate for this scope — no over-engineering with JWTs for a server-rendered app.

Abandoned since 2018 — the Stripe API has had multiple breaking changes since (Checkout, Payment Intents, SCA requirements), so the card-handling flow is almost certainly broken out of the box. Secrets are stored in a committed file (`server/config/secrets.js`) rather than environment variables, which is a bad habit to copy from a boilerplate. MongoDB/Mongoose is the only data option with no rationale given; anyone starting a new SaaS today would likely prefer Postgres. Swig as the template engine has been unmaintained since 2015 and was forked as Nunjucks years ago.

View on GitHub → Homepage ↗

// want more like this?

We dig through GitHub every week and send a few repos picked for what you actually care about — each with an honest take like this one.

Get finds in your inbox → Search again →