// the find
eddywashere/node-stripe-membership-saas
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.