Controlling the beast
Matan Lachmish
Posted on March 3, 2021
We have all seen these happen too many times:
Every big project starts as a small one.
and a small project does not need a lot of stuff, right?
- It doesn't need TESTING š
- It doesn't need SECURITY š
- It doesn't need CI/CD š
Well, if you plan for this project to stay grounded and never make the leap to become a production product then you are probably right š
This Byte is about another item that is usually left out until the project is too big and desperately needs it - CONTROLLING
Controlling
Every system needs a way to control its production product, for instance:
- User's data
- Content served by your app
- Feature flags
- Many more...
The greedy way
"For now, let's just create admin APIs"
Well, you do have a way to control but in the cost of:
- Constant manual dev effort (the worst kind of dev effort š)
- Inconsistent way of use, the risk of breaking something up is always high
- Obscurity of implementation, APIs that are not consumed by any client can break/change without anyone knowing.
- Centralized knowledge of how to control your system
The better way
Some call it "Admin Panel", others "Back office", I've heard "Dashboard" and "Console".
In Sanga we call it Controlā¢
An easy-to-use app that provides a safe and consistent way of using those notorious "Admin APIs".
Controlling the beast at Sanga
As soon as we felt that those admin APIs are being used more than "just a couple of times" we've built our Controlā¢ using Vue.js.
As straightforward as it may sound, our "definition of done" for a feature includes the ability to manage the feature through Controlā¢.
That means that for every feature we:
- Think what are the possible ways to control this feature
- Design the relevant admin APIs
- Enhance Controlā¢ with the ability to interact with these APIs
Fun fact
Once you have such a capability, new features are being designed with control in place. That leads to some super cool capabilities that otherwise would probably be developed as stiff client-side logic that would be re-written endlessly.
Thank you for reading, look for our next Byte
Made with ā¤ļø by Sanga
Posted on March 3, 2021
Join Our Newsletter. No Spam, Only the good stuff.
Sign up to receive the latest update from our blog.