The Speckle Server, Frontend, 3D Viewer, & other JS utilities.
Перейти к файлу
Kristaps Fabians Geikins b2a55e753d
final changes
2024-11-20 16:19:15 +02:00
.circleci chore(server): various useful multiregion changes from comments pr (#3499) 2024-11-15 15:49:34 +02:00
.devcontainer chore: prettier precommit fix 2024-04-01 15:42:10 +00:00
.github chore(postgres): upgrade to v16.4 (#3438) 2024-11-05 10:25:10 +00:00
.husky chore: upgrade to eslint 9 (#2348) 2024-06-12 14:38:02 +03:00
.vscode chore(vscode): settings were auto-updated (#1903) 2023-12-12 14:25:39 +00:00
.yarn fix(ci): update yarn & node in CI to hopefully fix install issues (#3223) 2024-10-10 11:24:21 +02:00
packages final changes 2024-11-20 16:19:15 +02:00
setup gergo/webhookRegions (#3459) 2024-11-08 10:45:39 +01:00
test-queries feat(db monitor): adds a new metric speckle_db_tablesize with db table sizes (#2474) 2024-07-05 15:12:27 +01:00
utils fix(helm chart): root is read-only so mount volume to specific directory (#3458) 2024-11-07 14:20:05 +01:00
.dockerignore gergo/pgTimeout (#805) 2022-06-17 08:38:34 +02:00
.editorconfig frontend nginx improvement (#185) 2021-04-20 21:10:36 +03:00
.gitguardian.yml chore(deprecate FE1): update urls to point to *.speckle.systems (#2515) 2024-10-14 19:30:00 +01:00
.gitignore feat(server): run tests in multiregion mode if RUN_TESTS_IN_MULTIREGION_MODE=true 2024-11-08 18:03:13 +02:00
.graphqlrc fix(monorepo): make sure to use 127.0.0.1 instead of localhost 2023-08-03 10:28:57 +02:00
.pre-commit-config.yaml feat: add missing FE1 fields to the FE2 GQL schema (#2471) 2024-07-10 11:33:53 +02:00
.prettierignore chore: upgrade to eslint 9 (#2348) 2024-06-12 14:38:02 +03:00
.prettierrc chore: re-formatted everything with prettier 2022-03-30 12:54:24 +03:00
.yarnrc.yml fix(ci): update yarn & node in CI to hopefully fix install issues (#3223) 2024-10-10 11:24:21 +02:00
CONTRIBUTING.md Fix various typos 2021-07-22 09:23:21 -04:00
LICENSE Gatekeeper (#2572) 2024-08-13 11:04:40 +02:00
README.md Update README.md 2024-11-01 18:53:40 +00:00
SECURITY.md chore: re-formatted everything with prettier 2022-03-30 12:54:24 +03:00
docker-compose-deps.yml gergo/webhookRegions (#3459) 2024-11-08 10:45:39 +01:00
docker-compose-ingress.yml Gergo/automate backend module (#2267) 2024-05-17 14:36:28 +02:00
docker-compose-speckle.yml chore(dockerfile): move to distroless (#2885) (#2897) 2024-09-06 09:43:35 +01:00
docker-compose-test.yml chore(CI): temporarily disable docker compose deployment test & other fixes for race condition in docker compose deployment test (#2553) 2024-08-01 12:15:35 +01:00
eslint.config.mjs chore: upgrade to eslint 9 (#2348) 2024-06-12 14:38:02 +03:00
jsconfig.base.json feat: Standardized & cleaned up formatting & linting across repo #617 (#618) 2022-03-16 10:10:30 +02:00
lint-staged.config.js chore: upgrade to eslint 9 (#2348) 2024-06-12 14:38:02 +03:00
package.json feat(server): run tests in multiregion mode if RUN_TESTS_IN_MULTIREGION_MODE=true 2024-11-08 18:03:13 +02:00
vetur.config.js feat(frontend): typescript support in frontend (#803) 2022-06-14 17:30:51 +03:00
workspace.code-workspace gergo/web 2047 user joins the workspace event (#3412) 2024-10-30 15:51:40 +01:00
yarn.lock chore(server): various useful multiregion changes from comments pr (#3499) 2024-11-15 15:49:34 +02:00

README.md


Speckle | Server

Twitter Follow Community forum users website docs

Speckle is the first AEC data hub that connects with your favorite AEC tools. Speckle exists to overcome the challenges of working in a fragmented industry where communication, creative workflows, and the exchange of data are often hindered by siloed software and processes. It is here to make the industry better.

Server and Web packages

codecov CircleCI

Repo structure

This monorepo is the home of the Speckle v2 web packages:

Other repos

Make sure to also check and these other Speckle repositories:

Developing and Debugging

Have you checked our dev docs?

We have a detailed section on deploying a Speckle server. To get started developing locally, you can see the Local development environment page.

TL;DR

We're using yarn and its workspaces functionalities to manage the monorepo. Make sure you are using Node version 18. To get started, run:

  1. corepack enable
  2. yarn
  3. yarn build

After this, you can use the scripts in the individual packages or run them all in dev mode:

  • yarn dev

For development you'll also want to run yarn dev:docker:up which will start up the docker containers you will need to be able to run the apps on your machine.

IDE

The suggested IDE for working in this repo is VSCode, because the repo has special configs to improve the DX there (auto-format & auto-lint, recommended extensions etc.).

This repository relies on VSCode multi-root workspaces, so for the best DX and proper formatting/linting make sure you open the project using the workspace.code-workspace file instead of just opening the folder in VSCode.

Proper TypeScript support

To get proper TS support in standard TS files as well as Vue files, we rely on the Volar VSCode extension - not Vetur! When you open the workspace for the very first time, VSCode should already prompt you to install this extension. The default Volar setup can be quite resource intensive, however, because there end up being standard TS Language Server instances running as well as Vue TS Language server instances. To resolve this issue we rely on Volar's Take Over Mode.

Essentially, ensure you have Volar enabled, and the built in TypeScript and JavaScript Language Features extension disabled (for this workspace)!

Useful containers

Maildev

We have a Maildev container available that you can use to see all e-mails sent out from the app. Make sure your server .env file is configured properly to use it:

EMAIL=true
EMAIL_FROM="no-reply@example.org"
EMAIL_HOST="localhost"
EMAIL_PORT="1025"

The web portal is available at localhost:1080 and it's listening for mail on port 1025.

Contributing

Please make sure you read the contribution guidelines for an overview of the best practices we try to follow.

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

  • When ready to commit, run $ yarn cz & follow the prompts.

When committing to git, an automated script will run. This will check that your commit conforms to Speckle's guidelines.

  • To enable additional checks, you may wish to optionally install the following:

  • Please note that these additional checks will be run by Speckle's automated CI environment and non-conformances, if any, may prevent your Pull Request from being merged.

  • Please use the name of the package as the scope of your commit.

  • Note that ggshield requires you to register an account and then authorise with GitGuardian before it can be used: ggshield auth login

  • Then run to enable pre-commit. This will run on every commit you make:

    pre-commit install
    

Security

For any security vulnerabilities or concerns, please contact us directly at security[at]speckle.systems.

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.