Deploy to Netlify Deploy to Vercel Provision Neo4j

GRANDstack 入门项目

npx create-grandstack-app myNewApp

此项目是构建 GRANDstack(GraphQL、React、Apollo、Neo4j 数据库)应用程序的入门项目。该入门项目包含两个部分:Web 前端应用程序(React 和 Angular 版本)和 API 应用(GraphQL 服务器)。

该入门项目代表了一个**商家评论仪表板**。您需要根据您的用例调整 GraphQL 模式、种子数据、数据库索引创建和 UI 组件。

Hands On With The GRANDstack Starter

GRANDstack 入门项目视频操作演示

快速入门

使用 GRANDstack 入门项目的最简单方法是创建 Neo4j Sandbox 实例并使用 `create-grandstack-app` 命令行工具。

(如果您通过 Neo4j Desktop 或 Neo4j 服务器安装程序在本地运行 Neo4j 数据库,请在 `api/.env` 中更改密码)

1. 创建 Neo4j 实例

选项 1️⃣ – Sandbox

Neo4j Sandbox 允许您创建仅供您自己使用的免费托管 Neo4j 实例,用于开发。

登录 Neo4j Sandbox 后,点击 `+ New Project` 按钮并选择“Blank Sandbox”选项。下一步,我们将使用“Connection details”选项卡中的连接凭据将我们的 GraphQL API 连接到此 Neo4j 实例。

Neo4j Sandbox connection details

选项 2️⃣ – Desktop

如果您想改用 Neo4j Desktop。过程将与此类似,只是有一个小小的绕行。为您的操作系统安装 Neo4j Desktop,然后为您的项目创建一个新的空白图。它会要求您输入密码和用户名。请记住它们。

接下来,您需要转到从 3 点堆栈菜单中的选项打开管理屏幕

New desktop graph, manage tab

并安装 apoc 插件,列表顶部的绿色按钮。

Plugins

之后,您可以根据先前的步骤中的凭据继续设置您的应用程序。

2. 运行 `create-grandstack-app` CLI

npx create-grandstack-app myNewApp

或使用 Yarn

yarn create grandstack-app myNewApp

create grandstack app output

这将创建一个名为 `myNewApp` 的新目录,下载 GRANDstack 入门项目的最新版本,安装依赖项,并提示您输入 Neo4j 的连接凭据以连接到 GraphQL API。

3. 填充数据库(可选)

确保您的应用程序正在本地运行,使用 `npm start` 或 `yarn start`,打开另一个终端并运行

npm run seedDb

或使用 Yarn

yarn run seedDb

4. 在浏览器中打开

Grandstack app running in browser

概述

GRANDstack 入门项目是一个 monorepo,其中包括一个 GraphQL API 应用程序以及用于商家评论仪表板的 React(默认)和 Angular 客户端 Web 应用程序。

/ – 项目根目录

根目录包含一些全局配置和脚本

  • npm run startnpm run build
  • ESLint (.eslintrc.json) 用于代码 linting
  • Prettier (.prettierrc.json) 用于代码格式化
  • Git hooks 用于在提交时应用格式化

/api

此目录包含使用 Apollo Server 和 Neo4j GraphQL 库的 GraphQL API 应用程序。

  • 在 `.env` 中更改环境变量设置

# Use this file to set environment variables with credentials and configuration options
# This file is provided as an example and should be replaced with your own values
# You probably don't want to check this into version control!

NEO4J_URI=bolt://:7687
NEO4J_USER=neo4j
NEO4J_PASSWORD=letmein

# Uncomment this line to enable encrypted driver connection for Neo4j
#NEO4J_ENCRYPTED=true

# Uncomment this line to specify a specific Neo4j database (v4.x+ only)
#NEO4J_DATABASE=neo4j

GRAPHQL_SERVER_HOST=0.0.0.0
GRAPHQL_SERVER_PORT=4001
GRAPHQL_SERVER_PATH=/graphql

/mobile_poimen

一个使用 Flutter 构建的移动客户端,支持 Android、iOS 和 Web。有关详细的设置说明,请参阅 README

cd ./mobile_poimen && flutter run

Docker Compose

您可以通过以下方式快速启动

docker-compose up -d

如果您想在服务启动后加载示例数据库

docker-compose run api npm run seedDb

有关更改日志,请参阅 项目发布版本

您可以在 Neo4j 目录 README 中找到有关使用 Neo4j 其他方法(Neo4j Desktop、Neo4j Aura 和其他云服务)的说明。

本项目根据 Apache License v2. 许可。版权所有 (c) 2020 Neo4j, Inc.

GitHub

查看 Github