Giter Club home page Giter Club logo

a-carbon-tool's Introduction

a-carbon-tool

A Carbon Tool (ACT) is an open source web application that enables users to estimate embodied carbon equivalent content from Building Information Models (BIM) - using Speckle to solve the challenge of data interoperability in the AEC industry. It is designed to provide quick and efficient feedback during the design process to enable users to identify carbon hotspots and reduce the impact their design has on the built environment.

The original version of ACT was created in 2018 at Arup and built based on Speckle 1.0 - it is contained in the legacy branch of this repository. The tool has been used on building and infrastructure projects across the global, supporting those projects in reducing the carbon footprint of the proposed design.

At COP26, Arup committed to performing whole life carbon assessments on all building projects, new and retrofit. In addition to this commitment, Arup have open sourced ACT to enable anyone in the AEC sector to perform their own carbon assessment for their own project. In doing this the AEC sector can collectively work together in the challenge the planet faces in reducing carbon emissions - a task so big that it will require the entire industry to improve and work together. This is why a copy-left licence has been chosen for this carbon calculation tool, to encourage a collaborative environment in tackling this challenge while enabling everyone to benefit from new developments and improvements to the tool.

How to run the project locally

  1. Create a Speckle app and make a note of the id and secret
  2. Copy the .env.example file to a .env file
  3. Set VUE_APP_SPECKLE_ID_XYZ and VUE_APP_SPECKLE_SECRET_XYZ to be the values of your own Speckle app id and secret
  4. Run npm i
  5. Start app with npm run serve
  6. On the login screen, if your Speckle app id and secret are correct/everything is working right, the xyz login button should allow you to log in

To make the other login buttons work, fill in the other environment variables with different Speckle app id/secret's (or the same ones, but then the buttons would all do the same thing)

If you have your own Speckle server that you wish to connect to your local version of act, update the VUE_APP_SPECKLE_ID_CUSTOM and VUE_APP_SPECKLE_SECRET_CUSTOM env vars to the id and secret of an act app on your server. Then on the login page, choose "CUSTOM SERVER" and enter in your server's url. Provided that no major breaking changes have been made to your server from the xyz Speckle server, act will work.

Project setup

npm install

Compiles and hot-reloads for development

npm run serve

Compiles and minifies for production

npm run build

Run your tests

npm run test

Lints and fixes files

npm run lint

Run your unit tests

npm run test:unit

Customize configuration

See Configuration Reference.

a-carbon-tool's People

Contributors

exilliar avatar kchurch2 avatar ninehundred avatar peterjgrainger avatar psarras avatar raj-p-patel avatar ro-sa avatar rorymccully avatar tomhebunn avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar

a-carbon-tool's Issues

Update app to send the user to the landing page once they've logged in

Currently the user is redirected to '/', but there is nothing on that page so they need to use the header to get to the landing page. This task will be to redirect the user once they've reached that '/' page to the landing page (or updating the landing page to sit on route localhost:8080/ rather than localhost:8080/landing)

add ARC

Also do some scaffolding of the app in general

View report Page

Generate report page and graphics for material breakdown & A1-A5 accounting

  • Add placeholder graphics
  • Viewer needs to have colors based on the materials
  • Gear Button functionality -> Redirect to Speckle Admin page.
  • Share button functionality -> Create a sharable url.
  • Editing Button on larger view? -> Redirect to Edit Assessment Page

App setup

add Vuetify, remove some of the default stuff that isn't needed, maybe create the header as a shared component

update theme and add logo

Logo may change, so adding the image as logo.svg and referencing that. If the logo changes in the future, can just update that image, but still call it logo.svg so that the rest of the app auto updates

Create login page

Issue includes the implementation of the speckle login, not just the UI

Notification to re-run Assesment

add a webhook whenever someone pushes to the main branch. The prompt will redirect you to a new report if there is a previous one already pre-populate any information you used.

If doing a webhook is too much of a technical dept, then maybe do a check whenever someone visits the report page

make menu-1b

Make the form for the input-1b on the menu on the new assessment page. For now this should just be in it's own component. For selecting the speckle stream, that can just be a regular text input for now. This can all be put in it's own component which can be called from the views/Assessment.vue component (see views/Login for how to call a component from a parent component in Vue). For now the form can just be on it's own, we can make the component output some stuff to the parent component later.

Link to the vuetify form docs which may be useful.

Create assessment page

Include stepper for assessment stages ready to be built out

  • loading the stream
  • 3d viewer update
  • Material selection (by speckle type)
  • Transport per material CO2
  • #37
  • Working on volume calc from v1
  • General Clean-up to lock the step sequence to a degree (do not change materials before choosing a stream)

Testing

  • manual for now
  • automatic after release

Share button functionality

Investigate how to best approach this.
The idea is to create a link that someone without a Speckle account can access. Making the stream public?
Contact main and Arup Speckle team.

Sean Merrifield did something on v1

  • Step 1 just copy to clipboard
  • Step 2 make it an anonymous public link

volume calc

  • volume calculation function
  • calculated vs speckle volume function
  • if volumes are different, inform the user

Finish Assesment

  • Review
  • Report Preview
  • Save - Push back to speckle

Save data back to a new branch carbon-report
we need to maintain the link to the streamID with the 3d information

We always save back to carbon-report

landing-ui-arup-button

make button that takes you to the drop down menu to hide the immediate arup server address

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.