Sweet tools to build your online business
Donut is a framework for building, deploying, and growing your software-as-a-service business. It's designed to let you focus on your core product, not on endless unrelated chores. Coming soon!
Donut is a framework for building, deploying, and growing your software-as-a-service business. It's designed to let you focus on your core product, not on endless unrelated chores. Coming soon!
Donut's goal is to ridiculously reduce the amount of effort it takes to release your product. Creating any SaaS product involves innumerable tasks that are incidental to your product's core value proposition, and Donut is meant to handle those for you.
Such tasks include: figuring out how to handle forms and navigation, handling API requests and responses, wiring up OAuth, and a lot more. The Donut design approach is to identify these burdensome tasks and provide the underlying structure that lets us build an ecosystem of solutions for these tasks - without compromising your code's maintainability and extensibility. And it provides many of the solutions itself :)
Frameworks have a reputation for saving work in the short term but creating more work in the long term by obscuring how your code works (magic!) and creating a walled garden.
Donut attempts to avoid these pitfalls by adding just a little structure on top of libraries that are already widely-adopted in the Clojure community, like reitit and re-frame. If Donut doesn't do what you need, you're not locked in: you can just use these well-supported tools.
Building your business is more than just creating core product. It's managing payments, customers, monitoring, integrations, and on and on.
Donut's still in its infancy, but long-term it aims to take a wholistic approach to product development to support you in building your business.
My vision for Donut is to empower anybody to be productive with Clojure. By creating a starting place that's as close as possible to the finish line, we make Clojure more appealing and help newcomers stay motivated as they learn the language.
I specifically want to empower people in a way that can benefit them financially. It's tough out there, and if we could give people great tools to improve their situations, that'd be awesome!
Along the way, I'd like to build a supportive community. With Clojure and kindness, there's no limit to what we can achieve! Join us in the #donut channel in Clojurians slack
Most of Donut's libraries are useful on their own:
donut.system is a dependency injection library that introduces system and component abstractions to:
datapotato lets you manage test fixtures in a way that's clear, concise, and easy to maintain. It's great for dramatically reducing test boilerplate.
dbxray provides metadata about JDBC databases and uses that data to generate specs/schemas that you can copy into your application. It can save you some time if you're just getting started with spec, malli, or plumatic schema.