I'm building https://divjoy.com, which gives you everything you list as part of a Node/React/Firebase/Stripe codebase. It's fairly lightweight. You handle admin stuff through your Firebase and Stripe console directly. It integrates with Stripe's hosted Checkout [0] and Customer Portal [1], so all that user-facing UI is handled by Stripe.