Skip to content

Latest commit

 

History

History
51 lines (36 loc) · 1.65 KB

README.md

File metadata and controls

51 lines (36 loc) · 1.65 KB

GitHunt

Concept for an Apollo full-stack example app that demonstrates all of the important concepts

Want to see how it's going? Read the development log!

Code patterns to demonstrate

  1. Routes and data loading
  2. Server side rendering and store hydration
  3. Merging data from multiple backends/APIs
  4. Authentication and basic security
  5. Mutations - updating and inserting items
  6. Developer tool integrations, like eslint-plugin-graphql
  7. One place where there is reactivity/streaming data (nice to have)

As new patterns emerge in Apollo development, we should add them to this app.

App concept

GitHunt - like product hunt for GitHub repositories.

There are three views:

  1. The home page feed, which is a ranked list of repositories
  2. A page to submit a new repository
  3. A repository page, with comments

Does it demonstrate all of the required features above?

  • Routes and data loading? Yes, it has multiple pages which require different data.
  • SSR/hydration? Yes, the front page should load fast.
  • Merging data? Yes, this will merge upvote and comment data from a local database with repository information from GitHub.
  • Auth and basic security? Yes, it will have GitHub login, and security so that people can only post comments when logged in, and everyone can only vote once per repo.
  • Mutations: Submitting a new repo, voting, and commenting.
  • Dev tools: Yes
  • Reactivity: we can reactively update the vote count on the repository page via a websocket or poll.

Other tech

  • React
  • React router
  • Webpack
  • Babel
  • Redux
  • Passport for login

Page mockup

The front page:

Front page mockup