This monorepo is the home of the Speckle 2.0 web packages. If you're looking for the desktop connectors, you'll find them here.
Specifically, this monorepo contains:
➡️ Server, the Speckle Server
The server is a nodejs app. Core external dependencies are a Redis and Postgresql db.
➡️ Frontend, the Speckle Frontend
The frontend is a static Vue app.
➡️ Viewer, the Speckle Viewer
The viewer is a threejs extension that allows you to display data from Speckle.
➡️ Object Loader, a JS helper module
A small utility class that helps you stream an object and all its sub-components from the Speckle Server API.
➡️ Preview Service, for headlessly generating images for 3d objects
Generates object previews for Speckle Objects. This package is meant to be called on by the server.
Comprehensive developer and user documentation can be found in our:
To start using Speckle, it's not necessary to deploy it yourself. The easiest way is to register a free account on speckle.xyz, our general availability offering. Check https://speckle.systems/getstarted/ for more information.
If you want to deploy the Server, we have a detailed guide on how to do so. To get started developing locally, you can read the run in development mode chapter of our deployment guide.
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:
- Install commitizen globally (
npm i -g commitizen
). - When ready to commit,
git cz
& follow the prompts. - Please use either
server
orfrontend
as the scope of your commit.
The Speckle Community hangs out on the forum, do join and introduce yourself & feel free to ask us questions!
For any security vulnerabilities or concerns, please contact us directly at security[at]speckle.systems.
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.