Skip to content

An Apollo full-stack example app: vote for your favorite GitHub repos!

Notifications You must be signed in to change notification settings

white-ubuntu/GitHunt

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

8 Commits
 
 
 
 
 
 

Repository files navigation

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

About

An Apollo full-stack example app: vote for your favorite GitHub repos!

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published