Matteo Cominetti 38828dbf2a docs: updated readme
2020-07-22 17:45:03 +01:00
2020-07-17 20:39:23 +01:00
2020-03-26 21:45:24 +00:00
2020-07-22 17:45:03 +01:00

Speckle Server

The next iteration of the Speckle Server. dev:frontend

Speckle-Next codecov

Contributing

Local debugging & testing

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

Requirements

  1. Dubplicate and rename .env-example to .env.

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

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

  1. You will also need Redis installed.

For which you can use the redis.app.

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%