2. About Me
About Me
● Start-Up guy
● Worked with 3 early
stage startups
● Product Builder at
core (15+ Products)
My Work
● Scalability, Security,
Resilience
● JRuby, NodeJS,
Postgres, MongoDB
● MicroServices
● DevOps
3. About Jombay
Jombay
Venture Funded
Product Based
HR Tech Company
My Work
500+ Clients
1mn+ Assessments
50k+ Enterprise
App Users
Products
Assessments
Gamified
Simulations
Micro-Learning
Apps
9. Problem!
● Too much duplication across all controllers.
● Introducing changes at global level
becomes a challenge
● Not optimized for different types of client
requirements
10. Introducing CRUDActions!
A simple, light-weight & powerful
“Module”
for clean, dynamic and highly optimized APIs
Let’s watch it in Action
11. What can it do?
● CRUD Actions along with Search / Sort
● Count / Group Count
● Dynamic JSON Serialization
● Include / Exclude Associations, Methods
● Include / Exclude columns in queries and JSON
response…
● JOINS too...
12. Why a Module
● Can be broken down into multiple sub modules
● Can mix-in one or more modules based on
requirement
● Not all controllers need all the actions
13. How it Helped?
● Works with ActiveRecord and Mongoid in almost
the same way!
● APIs became highly flexible and dynamic so
writing new features and building front-end
application became easy.
● Developers almost never write code in controllers
14. Goods
● Extremely skinny controllers
● Speeds up your API development
● Highly dynamic and optimised APIs
● Applying changes at global level is super easy!
15. Bads
● Any change in the module will affect all the APIs
you have!
● You need test coverage for all your APIs
● Documenting APIs with gems like “apipie”
becomes difficult or almost impossible