Bedrock - modern full-stack Next.js & GraphQL boilerplate
Software as a service (SaaS) is licensing and delivery model in which software is centrally hosted & licensed on a subscription basis. SaaS applications are also known as on-demand or web-based software.
Despite being totally different (having a different interface, design and solving totally different problems) there are some mundane things that are common for almost each & every SaaS project.
To become operational each SaaS needs some basic functionalities like:
- user authentication,
- billing management,
- sending transactional emails,
- handling cookie sessions & access tokens,
... and the list goes on and on.
These are repetitive tasks that developers need to go through and handle properly to provide the basic functionalities and experience expected by web-based application users. With a huge list of tedious, boring jobs to do in the back of your mind, it's hard to focus on the relevant features of your new application.
Max Stober, who is a creator of react-boilerplate (27k stars) and co-creator of styled-components (32.5k stars), created Bedrock to solve this problem.
Bedrock is a boilerplate built of the top of the best tools of the JS ecosystem that combined together create a bedrock for your new SaaS product.
Bedrock bases on:
These three make a foundation for your project that makes it possible to easily bind the rest of the Bedrock components and make them work well together which means you can forget about spending hours to integrate all those tools and libraries to handle:
User authentication: Bedrock authenticates users using magic links without having to worry about security and storing passwords,
Team Account: Bedrock has a built-in invitations system that allows users to invite their colleagues to their projects (each project has its own billings and members).
Subscription payments: with a help of Stripe Checkout, Bedrock is ready to handle any plan you want to have included in your SaaS (monthly, yearly, pay per-seat, etc.),
GraphQL API & integrations - enjoy the speed of GraphQL API with Nexus, Prisma & urql, as well as token-based API authentication, allowing users to easily integrate with your product.
Type-safety: with TypeScript onboard don't worry about errors, it saves you time catching errors and providing fixes before you run code.
Scalability: do not worry about scaling your servers, Next.js got you covered.
What's great about Bedrock is that's flexible! If you think you don't need some of the tools/libraries that OK as removing most of the optional tools is as simple as deleting a single file or folder (ESLint, Prettier etc.). Some of them require deleting code in other files (i.e Stripe) but still, it shouldn't take more than a couple of minutes.
With that part being covered you can focus on the core features of your product and making it awesome.
Bedrock can be pre-ordered for ~150$ per single product license (unlimited products license cost ~900$), for this price you will receive a copy of the codebase along with extensive documentation on how to use it to the fullest. It's planned to be released on the 31st of March.