Elevator Pitch
Everybody knows that it is hard to scale old highload monolithic projects that use pythonic templates for frontend. I am gonna tell how we transformed our product using trending and proper technologies like GraphQL, Apollo, Node.js with limited developer resources in a short period of time.
Description
Introduction. Huston we have a problem. Old monolithic python(2.7) project without async features and monolithic frontent (mako templates), monolithic database, long deploy, REST API, templates context, frontend dependence on backend
-
Our goals:
- SEO (we needed to save all our positions in google)
- Independent frontend
- good user experience within our product
- documentation, type validation
-
Tools and expertise:
- good expertise in ReactJS/Redux and frontend infrastructure
- own GraphQL server implementation
- well-established CI system and container system with logs/metrics
- experience from our previous experiments and failures
-
Step by step implementation.
-
Some metrics and numbers from prom.ua
- GraphQL server.
- two-level graph
- auto documentation
- some perfomence metrics
- Apollo client
- stateless ReactJS with routing
- frontend can be improved only by frontend developers
- dependencies only on data layer
- some performance metrics
- Node.js
- simple express app with routing
- SSR
- Apollo client for server
- Some metrics and numbers from prom.ua after implementation
-
- Problems
- Plans for the future