From a1343f815f8b4182b1459fb4e34c4ad1a5e3ebf6 Mon Sep 17 00:00:00 2001 From: Brendan Chen Date: Mon, 9 Feb 2026 16:55:23 -0800 Subject: [PATCH] Reorganize implementation notes on Interchange --- projects/interchange/index.md | 12 +++--------- 1 file changed, 3 insertions(+), 9 deletions(-) diff --git a/projects/interchange/index.md b/projects/interchange/index.md index 90d2099..5f3a266 100644 --- a/projects/interchange/index.md +++ b/projects/interchange/index.md @@ -18,17 +18,11 @@ GraphQL, with Redis as a primary storage mechanism. ## Design and implementation The server is built using Node.js. I designed a basic GraphQL schema and -used [Apollo's GraphQL implementation](https://www.apollographql.com/docs/apollo-server/getting-started) -to bring it to life. +used [Apollo's GraphQL implementation](https://www.apollographql.com/docs/apollo-server/getting-started) to bring it to life. In GraphQL, data is represented using a schema, which is then fulfilled with resolvers defined in code. Each resolver function gets some information like the -parent object, arguments, and a server-defined shared context. Seeing the dependency injection -that you could do with this context, I decided on an object-oriented approach consisting -of **loaders**, **repositories**, and **systems**. Loaders load data from an external source, -repositories store data, and systems are composed from a set of both loaders and repositories. +parent object, arguments, and a server-defined shared context. Seeing the dependency injection that you could do with this context, I decided on an object-oriented approach consisting of **loaders**, **repositories**, and **systems**. Loaders load data from an external source, repositories store data, and systems are composed from a set of both loaders and repositories. -I then applied an event-driven pattern to implement the iOS notification sender, listening -to updates on the shuttle repository. I would eventually reuse this pattern to implement -**a custom ETA system** that could run independently of an external data source. +I then applied an event-driven pattern to implement the iOS notification sender, listening to updates on the shuttle repository. I would eventually reuse this pattern to implement an ETA prediction system that could run independently of an external data source.