GraphQL Learner Dashboard Page Spike
@Ari Rizzitano (Deactivated), @Douglas Hall (Deactivated)
Goals
Primary
Understand the performance and code complexity tradeoffs involved in using GraphQL as a data proxy
Understand the additional UX and functional considerations involved in frontends making complex GraphQL queries
Judge whether GraphQL is a viable tool for implementing and scaling a decoupled frontend architecture
Additional
Prove out a decoupled frontend deployment pipeline
Answer questions about Apollo (@George Babey (Deactivated)):
Determine whether Apollo local state should replace Redux
Recommend whether or not to use Apollo Boost
Determine whether to stick with Apollo Server
Functional Requirements
Sandbox environment running an instance of Apollo Server
Experimental implementation of learner dashboard page
React on top of Apollo Client
Hits multiple IDAs:
LMS
Discovery
ecommerce
credentials
Independently deployable (e.g. not part of LMS)
First Pass
Sandbox environment
Display a page showing a list of enrollments
Serve from LMS
React owns entire page, embedded within a Mako template
Doug will handle setting up Apollo Server
Ari will set up the frontend + Apollo Client
Questions, once we've accomplished the first pass
Data modeling/schema?
How to handle skeleton states for UI?
How to independently deploy a React app?
Separate header/footer?
Performance and caching?