I'm a principal engineer at a large Australian enterprise, and I was working on a project recently where they required a service to manage dismissible UI state per user. And like all good billion dollar companies, they didn't want to spend the time/money building it internally and decided to cut the feature all together.
Anyway, I figured they must not be the only company who needs something simple to manage dismissible state, so I decided I would build a solution in my own time and open source it.
Some other features that come pre packaged are:
- JWT auth for better security
- Configurable CORS
- Ratelimiting
- Cache (coming soon)
If you have custom needs, you can use the underlying NestJS "core" module https://www.npmjs.com/package/@dismissible/nestjs-core and tap into the lifecycle hooks, which are used for auth, ratelimiting etc, or use the non-blocking events for things like analytics. You can even provide your own custom storage adapter if you want to use MySQL or Redis or some other DB not provided.
Fair point. Would be a very difficult case to make; not only is the upgrade path from v1 to v2 difficult already, but you would also have to change your datastore!....that would be a tough sell. It's a shame really, because the flexibility you would gain from utilizing a document store for product schema, while retaining transactional support for all your vital commerce related data (payments, inventory etc), is exactly what you need. I guess these are the trade-offs we are often faced with as engineers.
I'm a principal engineer at a large Australian enterprise, and I was working on a project recently where they required a service to manage dismissible UI state per user. And like all good billion dollar companies, they didn't want to spend the time/money building it internally and decided to cut the feature all together.
Anyway, I figured they must not be the only company who needs something simple to manage dismissible state, so I decided I would build a solution in my own time and open source it.
So here's Dismissible: https://github.com/DismissibleIo/dismissible-api
TLDR;
- It's an "all in one" API built using NestJS
- I've provided a public Docker image for getting up an running quickly: https://hub.docker.com/r/dismissibleio/dismissible-api
- And a pre built react client to use in your project: https://www.npmjs.com/package/@dismissible/react-client
Out of the box the API supports:
- Postgres
- Dynamodb
- In memory (to test it out quickly)
Some other features that come pre packaged are: - JWT auth for better security - Configurable CORS - Ratelimiting - Cache (coming soon)
If you have custom needs, you can use the underlying NestJS "core" module https://www.npmjs.com/package/@dismissible/nestjs-core and tap into the lifecycle hooks, which are used for auth, ratelimiting etc, or use the non-blocking events for things like analytics. You can even provide your own custom storage adapter if you want to use MySQL or Redis or some other DB not provided.
You can see it in action on https://dismissible.io
I'd love to hear your feedback and/or feature requests.
Thanks!