This has been a really fun project to work on. UConn Today is a primary news source for the UConn community. We have a WordPress plugin that allows us to display stories from it on other sites. However, basically all it does is get the stories and create a list of links with images. Anytime a visitor clicks on one, they're taken to the UConn Today site. This interrupts their experience and creates traffic loss for sites it's used on.
The new version I'm working on is a significant improvement over that experience. It uses React, WPGraphQL, and Apollo Client/GraphQL to create a list of stories with a built-in "reader view". Whenever someone selects a story, a full screen modal appears with a simplified view of the content. They can then select the next and previous stories using either pagination buttons or arrow keys for accessibility.
I also used the apollo persistent cache library so that stories are loaded extremely quickly on return visits. If new stories have been published since the last visit, a server-side query helps compare the stories. If they don't match, a notice is shown to cue visitors to fetch the new stories.
When the application is used, it can also send events back to Google Analytics. That way we can keep track of which stories were opened and for how long.
Like all my projects this one uses accessibility best practices and meets WCAG standards.