Files
speckle-server/packages/server/readme.md
T
Dimitrie Stefanescu c541999eb3 Update readme.md
clarifies .env instructions
2021-01-19 13:25:49 +00:00

3.3 KiB

Speckle Server

Twitter Follow Discourse users website

Status

Speckle-Next codecov

Disclaimer

We're working to stabilize the 2.0 API, and until then there will be breaking changes.

Introduction

The Speckle Server is a node application. To start it locally:

First, ensure you have postgres and redis ready and running:

  • ensure you have a local instance of postgres running
  • create a postgres db called speckle2_dev
  • ensure you have an instance of redis running

Finally, in the packages/server folder:

  • copy the .env-example file to .env,
  • open and edit the .env file, filling in the required variables,
  • run npm install,
  • finally npm run dev,
  • check localhost:3000/graphql out!

Developing

The server consists of several semi-related components, or modules. These can be found in /modules. Module composition:

  • an index.js file that exposes two functions, init and finalize (mandatory)
  • a graph folder, with two subfolders, namely resolvers and schemas (optional - these will be picked up and merged).

Server & Apps

Frontend

  • In development mode, the Speckle Server will proxy the frontend from localhost:8080 to localhost:3000. If you don't see anything, ensure you've run npm run dev in the frontend package.

  • In production mode, the Speckle Server will statically serve the frontend app from ../packages/frontend/dist.

GraphIQL

A GraphIQL app is available for authenticated api exploration at localhost:3000/explorer. Note that for the authentication flow to work, you need to have the frontend running first.

GraphQL Playground

For non-authenticated api exploration, you can use the Graphql Playground which is available by default at localhost:3000/graphql.

Testing

To run all tests, simply run npm run test. To run specific tests, use the mocha --grep @subset syntax. For example:

  • mocha --grep @auth --watch to run tests pertaning to the auth module only in watch mode.
  • mocha --grep @core-streams --watch to run tests pertaining to stream related services.

Community

The Speckle Community hangs out on the forum, do join and introduce yourself & feel free to ask us questions!

License

Unless otherwise described, the code in this repository is licensed under the Apache-2.0 License. Please note that some modules, extensions or code herein might be otherwise licensed. This is indicated either in the root of the containing folder under a different license file, or in the respective file's header. If you have any questions, don't hesitate to get in touch with us via email.