web app for comparing Speckle stream commits
Перейти к файлу
Alan Rynne dd02f26d0b Hardcoded cors allowed origins 2021-11-04 13:04:15 +01:00
frontend Minor env var tweaks 2021-11-04 11:53:01 +01:00
server Hardcoded cors allowed origins 2021-11-04 13:04:15 +01:00
.gitignore Initial backend+frontend connection + gitignore changes 2021-10-29 11:17:40 +02:00
Procfile fix Procfile 2021-11-04 11:36:04 +01:00
README.md Minor cleanup and fixes 2021-11-04 10:59:15 +01:00
requirements.txt Moved reqs? 2021-11-04 11:39:56 +01:00
vetur.config.js Minor tweaks + vetur files 2021-11-03 16:55:55 +01:00

README.md


Speckle | AEC Tech Masterclass

A Speckle app to compare different commits and visualize the results

Speckle is data infrastructure for the AEC industry.


Twitter Follow Community forum users website docs

About Speckle

What is Speckle? Check our YouTube Video Views

Features

  • Object-based: say goodbye to files! Speckle is the first object based platform for the AEC industry
  • Version control: Speckle is the Git & Hub for geometry and BIM data
  • Collaboration: share your designs collaborate with others
  • 3D Viewer: see your CAD and BIM models online, share and embed them anywhere
  • Interoperability: get your CAD and BIM models into other software without exporting or importing
  • Real time: get real time updates and notifications and changes
  • GraphQL API: get what you need anywhere you want it
  • Webhooks: the base for a automation and next-gen pipelines
  • Built for developers: we are building Speckle with developers in mind and got tools for every stack
  • Built for the AEC industry: Speckle connectors are plugins for the most common software used in the industry such as Revit, Rhino, Grasshopper, AutoCAD, Civil 3D, Excel, Unreal Engine, Unity, QGIS, Blender and more!

Try Speckle now!

Give Speckle a try in no time by:

  • speckle XYZ ⇒ creating an account at
  • create a droplet ⇒ deploying an instance in 1 click

Resources

  • Community forum users for help, feature requests or just to hang with other speckle enthusiasts, check out our community forum!
  • website our tutorials portal is full of resources to get you started using Speckle
  • docs reference on almost any end-user and developer functionality

Untitled

Repo structure

This repo is divided into two distinct parts, a frontend and a server

Frontend

The frontend/ folder contains all code related to the app any user will be able to access.

The app was built using Vue.js, and communicates with Speckle through our GraphQL API. It also communicates with the app's server using REST calls.

Backend

The server/ folder contains all code related to the app's backend.

It's a FastAPI server, written in Python and uses our Python SDK to communicate with our public server

FastAPI generates automatic documentation on the /docs route of the server.

It is a very basic server composed of two routes:

diff-check/STREAM_ID/CURRENT_COMMIT_ID/PREV_COMMIT_ID

Checks for an existing commit in a predefined diff branch and returns the diff commit if it does exist.

diff/STREAM_ID/CURRENT_COMMIT_ID/PREV_COMMIT_ID

Performs a diff operation against two commits from the same stream.

Result of the diff operation will be commited to the stream on a predefined branch.

Returns the diff commit if the operation was successfull.

Workshop pre-requisites

You'll need an IDE to follow along with the code. We'll be using VSCode for the class, but any other will work too. You will also need the following extensions:

  • Vetur
  • Python (comes preinstalled now, but just to be safe)

For the server, you must have:

  • python installed in your computer (at least version 3.6, 3.9 recommended) Download it here
  • Install FastAPI:
    pip install fastapi
    # and then
    pip install "uvicorn[standard]"
    
  • Install specklepy
    pip install specklepy
    

For the Vue app: