// the find
rwieruch/nextjs-firebase-authentication
Next.js + Firebase Starter
A Next.js and Firebase codebase for a paid course platform, built by Robin Wieruch around his own courses. It covers sign-up, sign-in, email and password changes, protected routes, a GraphQL API, and Stripe and PayPal checkout. It is a useful reference for how one real product fits together, but it is not a drop-in auth starter.
The auth flows are complete rather than demo-level: sign-in, sign-up, sign-out, email change, password change and password reset all go through GraphQL resolvers. Access rules sit in one place as resolver middleware (isAuthenticated, isAdmin, isPartner, isFreeCourse), which is easier to audit than checks scattered across pages. The test setup is real, with Jest, React Testing Library and Apollo mocks alongside most screens. The Stripe webhook and PayPal checkout are working payment code, which most starters leave out.
The repo carries the author's product logic: coupons, a partner and affiliate program, ConvertKit, Revue, Slack and S3 all show up in the env list and services. Anyone who only wants auth has a lot to delete first. The description says 'Starter' but the README is titled 'My Course Platform', which sets the wrong expectation. The last push was September 2022, so Next.js, Firebase and Apollo are all behind, and the Travis badge points at travis-ci.org, which has been retired. The setup needs keys for Firebase, PayPal, Stripe, Sentry, Revue, Slack, ConvertKit, S3 and a database before anything runs, and several of those, including Revue, Slack and S3, get no setup notes.