We do something similar across a React and a Next JS app. A little different because they are both web, but same principles of letting the clients do their own thing and having common backend logic.
Also just started looking around your site. This is actually a quality engineering blog! We're actively implementing stylized components in a manner similar to yours.
We've been relying on manual testing so far. We're just starting to think about unit tests and integration tests. We don't know where to start. Would be cool if you could provide guidance on setting up good testing practices in the first place so that we avoid flaky tests all together.
Yeh flaky tests generally creep up in a big service due to several issues. There are some best practices to avoid the tests that requires some discipline and good oversight! We wrote some stuff around it:
https://www.flakybot.com/blog/five-causes-for-flaky-tests
This is by no means an exhaustive list, but our goal with FlakyBot is to get better at identifying root causes as we identify flakiness across the systems.
If you’ve ever wanted to give your customers custom domains, send email on their behalf or manage their DNS records, would love feedback on dnspassport.com. Built this out for my current company and thinking of spinning this infrastructure out.
TL;DR If you're a SaaS company, mightydash.com lets your users pick a plan, pay you and get access to what they paid for. Takes 15 mins and saves you at least a week of engineering
Hello all, we've built a ton of SaaS apps in the past year, and payments have always been a headache. Yes, Stripe provides all the infrastructure to handle the grungy stuff, but you still have to build a ton of on top of it to get to something a customer can use. Decided to scratch my own itch and built mightydash.com to solve this.
This is all the stuff I've had to build myself that MightyDash enables out of the box:
- Let users add, change or remove a credit card
- Select a plan
- Let a user downgrade/cancel a plan, but make sure the user still retains access to features they paid for till the next billing period
- Let a user upgrade a plan and explain that they'll be prorated (so they don't complain to support)
- In my app, restrict access to a feature based on the user's plan (eg - you can only send 100 emails on the free plan)
- Add a limited promo (allow 500 people to use promo code DEAL for 1 month free)
- Add a no credit-card trial
It's early and works for React/Node atm, but can easily extend it to your stack if you reach out.
I've looked at Chargebee, Recurly and more. They offer a lot of options, but not the exact set of things that someone needs to get a SaaS product off the ground instantly.
Would love to understand if this has been a problem for you too and what else you'd want handled for you
This is a bit of shameless plug, but if you are looking to manage subscriptions outside of Stripe, and simply use Stripe for payment processing, take a look at Kill Bill, the open-source subscription billing & payments platform: https://killbill.io/