Using Rails Engines to Supercharge Your Team
summary
Doximity extracts GraphQL into a mountable Rails engine that supplies GraphQL Playground served from the engine, CI hooks that run a schema printer and publish to Apollo, and generators that mount routes and create initial files so teams just run one installer. Production traffic is ~9,000 requests/min and 7,000 fields; nine microservices adopt it and developer changes drop from four steps to one. The system wraps Apollo’s rust tooling, exposes secure-by-default type ACLs, and automates checks in pull requests so deployments succeed.
AI-written summary · about
chapters (22)
- 0:00Introduction
- 1:44Rails engines and GraphQL Federation
- 3:07Ruby gems and Rails engines
- 6:56Doximity domain constraints
- 9:44Monolith to microservices with GraphQL
- 13:35GraphQL implementation pain points
- 15:19GraphQL Federation constraints
- 16:42Rails engine for GraphQL setup
- 19:33GraphQL Playground benefits
- 21:59GraphQL Playground controller
- 23:46Engine secure access config
- 25:30Engine installation with generators
- 26:54Generator for engine integration
- 28:39Extracting GraphQL classes
- 31:51Generating GraphQL types
- 32:53GraphQL Federation integration
- 35:20GraphQL schema changes in CI
- 38:11Validating GraphQL changes
- 39:37Automating deployments with Rake
- 41:42Developer Slack notifications
- 42:45System impact and benefits
- 43:06Q&A
related talks
24mOptimizing for API Consumers with GraphQL
54mOptimizing performance in Rails apps with GraphQL layer
36mGraphQL on Rails - Creating Living APIs for a Data-hungry World
32mHow I architected my big Rails app for success!
41mThe GraphQL Way: A new path for JSON APIs
27mGraphQL and Rails beyond HTTP APIs
38mAll you need is Rails (Engines): Compartmentalising your Monolith
51mRails Engines Patterns
