Dimitrie Stefanescu 9554d2a7f4 style(streaming): minor
2020-07-02 11:08:10 +01:00
2020-07-02 11:08:10 +01:00
2020-03-26 21:45:24 +00:00
2020-05-23 16:11:09 +01:00

Speckle Server

The next iteration of the Speckle Server.

Speckle-Next codecov

Contributing

Local debugging & testing

To debug, simply run npm run dev. To test, run npm run test. To run tests in interactive mode, run npm run test-watch.

You will need to have a postgres instance running on the default settings, with two databases present, named speckle2 and speckle2_test.

For getting postgres running on osx, check out postgres.app, and the classic pgadmin.

How to commit to this repo

When pushing commits to this repo, please follow the following guidelines:

  1. Install commitizen globally
  2. When ready to commit, type in the commandline git cz & follow the prompts.

Modules

The server dynamically loads individual 'modules' from each top level folder in ./modules. It first loads the core modules, and thereafter others ("third party").

### Loading

Loading consists of two stages:

  • Preflight: stage where a module can configure the behaviour of any shared middleware.
  • Initialisation: final stage, where modules should hoist their routes on the core express application.

Modules can create new and alter old database tables, if the knex migration files are present in a migrations subfolder (e.g., ./modules/your-module/migrations/my-new-table.js).

Structure

A module should contain in its root folder an index.js file that exposes an init function:

exports.init = ( app ) => {
    // Your module's initialisation code
}

Any database migration files should be stored and named accordingly in a migrations folder. Moreover, modules should include test files. These should be located in tests. Here's a sample structure:


|-- index.js // entry file
|-- migrations
    `-- myTable.js
`-- tests
    `-- example.spec.js

// TODO

API

GraphQl

// TODO ### REST

Depecrated.

S
Description
Speckle Server with custom IFC Converter
Readme Apache-2.0 1.1 GiB
Languages
HTML 44.2%
TypeScript 20.7%
C++ 20.7%
C 6.9%
Vue 3.7%
Other 3.6%