Coder Social home page Coder Social logo

handsup-react's Introduction

handsup-react

Building HandsUp: an OS real-time Q&A App using GraphQL and React

HandsUp ๐Ÿ™Œ

Make your events more interactive allowing attendees to participate by adding questions and voting using their phone or laptop.

Organisers and speakers can use it to answer questions and run Q&A or panels sessions.

Technology stack

This application integrates the following technologies:

  • Auth0 to authenticate users using their social profiles (Google, Twitter)
  • Apollo Client to communicate with GraphQL Server
  • graphcool providing the GraphQL Server

Usage

Log in using your social account to be able to add new questions. In order to vote click on the heart button besides each question.

Development

If you have any questions feel free to ping me on @gerardsans.

Install

First, clone the repo via git:

$ git clone https://github.com/gsans/handsup-react.git

And then install dependencies:

$ cd handsup-react && yarn

Run

$ yarn run dev

Note: requires a node version >=6.x

Getting Started

In order to run this project you need to create the data model (schema) below using graphcool console online and setup Auth0.

graphcool - HandsUp Schema

This is the schema used

type Question {
  id: ID!
  body: String!
  votes: [Vote!]! @relation(name: "VoteOnQuestion")
  user: User @relation(name: "UserOnQuestion")
  createdAt: DateTime!
  updatedAt: DateTime!
}

type Vote {
  id: ID!
  question: Question @relation(name: "VoteOnQuestion")
  createdAt: DateTime!
  updatedAt: DateTime!
}

type User {
  auth0UserId: String
  id: ID!
  name: String
  username: String
  pictureUrl: String
  questions: [Question!]! @relation(name: "UserOnQuestion")
  role: USER_ROLE
  createdAt: DateTime!
  updatedAt: DateTime!
}

You can read the following blog as reference for an example as how you would create a schema from scratch

Auth0 + graphcool setup

In order to use Auth0 you need to do few steps. You can find some assistance by reading the articles below.

License

MIT ยฉ Gerard Sans

handsup-react's People

Contributors

gsans avatar

Watchers

James Cloos avatar Joshua Russell avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.