mskcc / smile-server

2 stars 4 forks source link

Custom resolver for flattening and extending sample data in graphql-server #1247

Closed ao508 closed 1 month ago

ao508 commented 1 month ago

Notes from meeting


Notes on implementation

We'll go with 1 for now and be ok with the 20s+ wait time until we implement samples caching.

Solution option Effort level Initial loading time Challenges
1. Use GraphQL's built-in solution (OGM) Very low 20s+ Long loading time. In the resolver we're using the OGM to query all samples then manually sort them with Javascript
2. Side step GraphQL via a direct Neo4j query High 5s We'll lose out on all GraphQL benefits and have to maintain a robust Neo4j query builder. This will add extra complexity for future dev related to Samples views
3. Hybrid: use #2 only for the initial page load, #1 for searching Medium

Another idea: use OGM to query and sort data for records from the latest 6 months or some other time range.

Further improve rendering time by eliminating excessive renders related to the RecordsList component.

ao508 commented 1 month ago

Please add your planning poker estimate with Zenhub @qu8n