Skip to content

Instantly share code, notes, and snippets.

View aligos's full-sized avatar

Rahmat Aligos aligos

View GitHub Profile
@aligos
aligos / server.js
Created November 4, 2016 10:11
Server
import express from 'express';
import { graphqlExpress, graphiqlExpress } from 'graphql-server-express';
import bodyParser from 'body-parser';
import cors from 'cors';
import { createServer } from 'http';
import { SubscriptionServer } from 'subscriptions-transport-ws';
import { printSchema } from 'graphql/utilities/schemaPrinter';
import { subscriptionManager } from './data/subscriptions';
import schema from './data/schema';
"eslintConfig": {
"parser": "babel-eslint",
"extends": [
"airbnb/base",
"plugin:import/errors"
],
"rules": {
"no-use-before-define": 0,
"arrow-body-style": 0,
"dot-notation": 0,
@aligos
aligos / package.json
Last active November 5, 2016 07:26
package json votemon-server
{
"name": "votemon-server",
"version": "0.1.0",
"description": "graphql server votemon",
"scripts": {
"start": "nodemon ./server.js --exec babel-node",
"test": "echo \"Error: no test specified\" && exit 1",
"lint": "eslint ."
},
"main": "server.js",
@aligos
aligos / .babelrc
Created November 5, 2016 06:10
babelrc votemon server
{
"passPerPreset": true,
"presets": [
"react",
"es2015",
"stage-0"
],
"plugins": [
"babel-plugin-inline-import"
]
@aligos
aligos / schema.js
Created November 5, 2016 06:40
schema js votemon-server
import { makeExecutableSchema } from 'graphql-tools';
import resolvers from './resolvers';
const schema = `
type Type {
id: Int! # the ! means that every author object _must_ have an id
title: String
pokemons: [Pokemon] # the list of Posts by this author
}
@aligos
aligos / subscriptions.js
Created November 5, 2016 06:42
subscriptions js votemon-server
import { PubSub, SubscriptionManager } from 'graphql-subscriptions';
import schema from './schema';
const pubsub = new PubSub();
const subscriptionManager = new SubscriptionManager({
schema,
pubsub,
});
export { subscriptionManager, pubsub };
@aligos
aligos / resolvers.js
Created November 5, 2016 06:48
resolvers js votemon server
import { find, filter } from 'lodash';
import { pubsub } from './subscriptions';
const types = [
{ id: 1, title: 'Water' },
{ id: 2, title: 'Electric' },
];
const pokemons = [
{ id: 1, typeId: 1, name: 'Squirtle', image: 'https://img.pokemondb.net/artwork/squirtle.jpg', votes: 2 },
@aligos
aligos / package.json
Created November 7, 2016 07:28
Votemon-client Tutorial codepolitan.com
{
"name": "votemon-client",
"version": "0.0.1",
"description": "votemon client reactjs codepolita.com",
"main": "index.js",
"repository": {
"url": "https://github.com/aligos/votemon-client.git",
"type": "git"
},
"author": "Rahmat Aligos",
@aligos
aligos / index.html
Created November 7, 2016 07:35
votemon client react
<!doctype html>
<html lang="en">
<head>
<meta charset="utf-8">
<meta name="viewport" content="width=device-width, initial-scale=1">
<title>React App</title>
</head>
<body>
<div id="root"></div>
</body>
@aligos
aligos / index.js
Created November 7, 2016 07:49
votemon-client index.js
import React from 'react';
import ReactDOM from 'react-dom';
import App from './App';
ReactDOM.render(
<App/>,
document.getElementById('root')
);