A GraphQL-based Web App written with React, Go and MongoDB. A good starting point if you wa...

栏目: IT技术 · 发布时间: 6年前

内容简介:A web application that allows to query programmers with their skills via aYou need to have

SKMZ

A web application that allows to query programmers with their skills via a GraphQL API. The application is implemented with Go and gqlgen on the backend side and React on the front end side. MongoDB is used as a database.

A GraphQL-based Web App written with React, Go and MongoDB. A good starting point if you wa...

System requirements

You need to have Docker and Docker Compose installed in oder to build and run the project. No additional tools required.

How to build and run in production mode

Perform

docker-compose up

Access the application via http://localhost:8080 . Access the GraphQL Playground using http://localhost:8080/playground .

How to develop locally

Tools

In order to develop the app locally the following tools are required: Docker , Docker Compose (if you are on Mac or Windows it comes installed with Docker), Node.js and Go .

Verify if your environment is ready by running the following 4 commands:

docker --version
docker-compose --version
npm --version
go version

Start the dev DB

docker-compose -f docker-compose-dev.yml up

This will start a local MongoDB which will be accessible on port 27017 . The DB will be populated with test records from mongo.init .

Start the server

Navigate to the /server folder and execute:

go run server.go

This will compile and run the back end part. As a result, the API and the GraphQL playground will be available.

Start the Front End dev server

Navigate to the /webapp folder and execute the following commands:

npm install
npm start

As a result, the web site will be accessible on http://localhost:3000 .

The changes on the front end side will be automatically applied once a file is saved. The changes in the back end code require restarting the back end.

Customizations

The database starts with a preloaded set of data which can be customized in the mongo.init file .

Here is an example of a GraphQL query which can be run in the Playground :

query {
  programmers(skill: "go") { 
    name,
    picture,
    title,
    company,
    skills {
      name,
      icon,
      importance
    }
  }
}

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持 码农网

查看所有标签

猜你喜欢:

本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们

暗时间

暗时间

刘未鹏 / 电子工业出版社 / 2011-7 / 35.00元

2003年,刘未鹏在杂志上发表了自己的第一篇文章,并开始写博客。最初的博客较短,也较琐碎,并夹杂着一些翻译的文章。后来渐渐开始有了一些自己的心得和看法。总体上在这8年里,作者平均每个月写1篇博客或更少,但从未停止。 刘未鹏说—— 写博客这件事情给我最大的体会就是,一件事情如果你能够坚持做8年,那么不管效率和频率多低,最终总能取得一些很可观的收益。而另一个体会就是,一件事情只要你坚持得足......一起来看看 《暗时间》 这本书的介绍吧!

Markdown 在线编辑器
Markdown 在线编辑器

Markdown 在线编辑器

RGB HSV 转换
RGB HSV 转换

RGB HSV 互转工具

HEX CMYK 转换工具
HEX CMYK 转换工具

HEX CMYK 互转工具