GithubHelp home page GithubHelp logo

danilop / serverlessbydesign Goto Github PK

View Code? Open in Web Editor NEW
289.0 13.0 35.0 2.7 MB

A visual approach to serverless development. Think. Build. Repeat.

Home Page: https://sbd.danilop.net

License: MIT License

JavaScript 100.00%
serverless visual aws aws-lambda event-driven development developer-tools cloud cloudformation serverless-framework

serverlessbydesign's Introduction

Serverless By Design

Serverless by Design screenshot

Serverless By Design is a visual approach to serverless development:

  • An application is a network of nodes (serverless resources, such as Lambda functions or S3 buckets) connected by edges (their relationships, for example a trigger or a data flow)
  • Edit an application adding nodes and edges following an event-driven design
  • Import a previously exported application to continue working on it
  • Choose a runtime, and build your application (for example, using AWS SAM)
  • Optionally use canary or linear deployments for your future updates
  • Edit templates and code files for the final configurations before deploying the application
  • Export an application to save it for later use in a JSON file
  • Take a picture of the application architecture to have a visual representation to share
  • Fine tune the physics used to place nodes and edges on the screen, for example enable/disable it or choose another solver

Serverless By Design runs in the browser and doesn't need an internet connection when installed locally.

A live version is available at: http://sbd.danilop.net

Think. Build. Repeat.

License

Copyright (c) 2017 Danilo Poccia, http://danilop.net

This code is licensed under the The MIT License (MIT). Please see the LICENSE file that accompanies this project for the terms of use.

Installation

You need node and npm. Just run:

npm run build

to build it for production, then open dist/index.html with your favourite browser.

For a development build, that you can debug with a browser, use:

npm run dev

Usage

Here are a few examples to help you start:

Dependencies

This code depends on:

serverlessbydesign's People

Contributors

brettstack avatar danilop avatar rts-rob 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  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

serverlessbydesign's Issues

CloudFormation code deduplication

As mentioned in #2, a considerable part of the CloudFormation-related code could be better modularized/centralized. Such a refactor should also allow for framework-specific specialization.

Separate dependencies from JS/CSS code

I would make clear what is a library/dependency and what's part of the repo. Eventually, we could add a bit of dependency management and injection (npm, bower, browserify, gulp, webpack, etc.).

Outdated dependency 'vis'

You are still using a very outdated version 4.21 of vis.
This version is not supported anymore!

Please update to the new libraries:
https://github.com/visjs

Feel free to contact us if you need any support during the transition :-)

SQS Support

Is SQS Support in the pipeline?

Or is their a reason why you are not adding it to the serverless setup? In other words, are their better alternatives?

I heard some rumors SQS to Lambda was coming, by then it should definitely become a member of the 'serverless' family?

Lambda JS files should move to a subdirectory

Current situation:
Javascript files for Lambda functions (and probably any lambda source file) are in the root of the generated zip file. Calling aws cloudformation package causes each Lambda to include all files in the root directory, including .git and .idea directories. Uploads take longer than necessary and contain data that shouldn't be in there.

Feature request:
Move each Lambda file to its own directory and reference that in the Cloud Formation template when generating a zip file for download.

Adding new services

Hey, I want to make sure I've got the flow down to add new services (e.g. I want RDS in here).

Can you double check me?

  1. update nodeTypes (index.js line 3) with a new entry. E.g.:
    rds: {
    name: "RDS"
    image: "./img/aws/IMAGE.png"
    }

  2. update nodeConnections (index.js line 54)
    with whatever are valid keys from nodeTypes and define the string for "action" for each type you want to support.

  3. add the right image to www/img/aws/IMAGE.png. -- looks like 62x64 is the dimensions?

  4. Optionally update getEdgeStyle include a case for your action (up in nodeTypes) and define the edge (e.g. color, etc)

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.