chore: initial project setup

This commit is contained in:
Kristof Van Miegem 2019-01-26 14:06:08 +01:00
commit a0480fb679
4 changed files with 76 additions and 0 deletions

8
.gitignore vendored Normal file
View File

@ -0,0 +1,8 @@
# Package managers
node_modules
npm-debug.log
yarn-error.log
package-lock.json
# OS
.DS_Store

6
README.md Normal file
View File

@ -0,0 +1,6 @@
# Getting started
```
npm i
npm run start
```

16
package.json Normal file
View File

@ -0,0 +1,16 @@
{
"name": "food-graphql-server",
"version": "1.0.0",
"description": "",
"main": "index.js",
"scripts": {
"test": "echo \"Error: no test specified\" && exit 1"
},
"keywords": [],
"author": "",
"license": "ISC",
"dependencies": {
"apollo-server": "^2.3.1",
"graphql": "^14.1.1"
}
}

46
src/index.js Normal file
View File

@ -0,0 +1,46 @@
const { ApolloServer, gql } = require('apollo-server');
const stores = [
{
name: 'Den Olijfboom',
},
{
name: 'Pizza Talia'
}
];
// Type definitions define the "shape" of your data and specify
// which ways the data can be fetched from the GraphQL server.
const typeDefs = gql`
# Comments in GraphQL are defined with the hash (#) symbol.
# This "Store" type can be used in other type declarations.
type Store {
name: String
}
# The "Query" type is the root of all GraphQL queries.
# (A "Mutation" type will be covered later on.)
type Query {
stores: [Store]
}
`;
// Resolvers define the technique for fetching the types in the
// schema. We'll retrieve books from the "books" array above.
const resolvers = {
Query: {
stores: () => stores,
},
};
// In the most basic sense, the ApolloServer can be started
// by passing type definitions (typeDefs) and the resolvers
// responsible for fetching the data for those types.
const server = new ApolloServer({ typeDefs, resolvers });
// This `listen` method launches a web-server. Existing apps
// can utilize middleware options, which we'll discuss later.
server.listen().then(({ url }) => {
console.log(`🚀 Food GraphQL Server ready at ${url}`);
});