climate-cooperative / home-energy-assessment-database Goto Github PK
View Code? Open in Web Editor NEWDocumentation, conversions, and data supporting Climate Cooperative's home energy audit and calculation tools.
License: Apache License 2.0
Documentation, conversions, and data supporting Climate Cooperative's home energy audit and calculation tools.
License: Apache License 2.0
TypeScript introduces a layer of type safety to the repo. It also comes with additional features which can help with payloads/models, to improve code quality.
While the repo is still relatively small, this won't be a huge refactor.
typescript
library as devDepinterface's
[Add Risks]
[...Issues]
Right now the lambda builds a sample js image. Need to:
src/lambda.js
).env
to reflect any new env varsLambdas performance is is dictated by its memory allocation. This is a setting defined in the tf
module with memory_size
attribute. Default is 128MB.
By Right Sizing this memory, can find a balance of performance and price. faster lambdas mean less cold/hot/warm response times. Lambda pricing is partially number of reqs, but also by execution time. Increasing mem decreases execution time.
Technical Notes:
https://s3.amazonaws.com/lambda-tools/pricing-calculator.html
Capture metrics regarding to plug into calculator and change mem to see what fits best (cheapest)
The pipeline now uses a lot of hard coded variables. Moving these to parameters/variables allows for more re-usable code and configurable builds.
Add Variables for:
To get the best performance from lambda, its best to keep the amount of code put into the lambda as small as possible. IE bundling EVERYTHING to a single entrypoint
Technical notes:
An OpenAPi spec is a useful tool to describe an api. Describes available paths, and payloads.
https://swagger.io/specification/
Create endpoint as well, to programmatically provide it. /openapi
???
Maybe use https://www.npmjs.com/package/swagger-autogen for auto generating openapi/swagger specs
[Add Risks]
[...Issues]
make it open source hospitable
Best practices (to include in checks during build_deploy) is to test the api works as intended with a set of integration tests.
Using Jest Create:
Right now the API is tooled to integrate with dynamodb. It will be useful to abstract this layer out, so that any db/orm client can be used for implementation purposes.
[...Issues]
Made the decision to switch from mongo to dynamo. Need to:
A new route to get State data via the zipcode
/state/:zipcode
Technical notes:
Either use query parameters or POST method to allow for this access
Switching to DynamoDB we need 1of the following:
Open Questions:
Create an endpoint (/score
) to provide a calculated response that can plug in to the FE: https://github.com/climate-cooperative/home-energy-calculator.
Document req/res models as well
Do similar calculations in the backend.
POST
request.
Without Integration Tests, will take coordination with FE to ensure correct payload.
Quite a bit of dead code in the repo from older times. Get ride of it...
Swapping to Dynamo opens up a lot of opportunities in the cloud, but closes some doors locally. A nice to have is a local dynamo instance to hit locally.
Needs to:
Technical Notes:
.env
files. ie .env.LOCAL
& .env.PROD
.env.PROD
can probably be made during pipeline?A declarative, efficient, and flexible JavaScript library for building user interfaces.
๐ Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. ๐๐๐
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google โค๏ธ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.