dd02f26d0b | ||
---|---|---|
frontend | ||
server | ||
.gitignore | ||
Procfile | ||
README.md | ||
requirements.txt | ||
vetur.config.js |
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.
About Speckle
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:
Resources
- for help, feature requests or just to hang with other speckle enthusiasts, check out our community forum!
- our tutorials portal is full of resources to get you started using Speckle
- reference on almost any end-user and developer functionality
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 version3.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:
- Install
node
Download it here - Install
vue CLI
- Instructions here - Install
vetur
VSCode extension - Install
vue dev tools
for Chrome