Code Monkey home page Code Monkey logo

cloudideaas-zz / hydra Goto Github PK

View Code? Open in Web Editor NEW
4.0 3.0 4.0 522.53 MB

Hydra is a app generation product. Hydra aims to reduce the "concept to market" capability of software development to 20%.

Home Page: http://www.cloudideaas.com/hydra

License: GNU General Public License v3.0

C# 40.71% XSLT 0.17% PowerShell 0.01% HTML 0.07% JavaScript 56.97% CSS 0.36% TypeScript 0.62% Smalltalk 0.01% Batchfile 0.01% SCSS 0.05% C++ 0.11% Rich Text Format 0.19% TSQL 0.68% Mustache 0.01% C 0.03% Roff 0.01% Yacc 0.01%
appgenerator code-generation dotnet-core azure azure-pipelines docker helm-charts kubernetes-deployment app-builder app-creator app-generator micro-frontends microservices yes-code yescode

hydra's Introduction

Hydra

Twitter Follow Gitter npm GitHub commit activity

Hydra is an app generator designed to put app development in the hands of everyone.

Hydra Splash

Description

Hydra is a app generation tool with resulting source code. Generated front-end support for Ionic/Angular. Restful service layer support for .NET Core. Back-end support for SQL Server. Other supported technologies coming soon as Hydra is highly extensible. Also includes support for mobile capability, Docker, Helm, Azure Devops, and Kubernetes. It serves as app generator for those who want to own and control the source locally.

Current Features

  • Generates a Visual Studio boiler plate solution:
    hydra generate workspace
    
  • Generates a Business Model and Entity Domain Model, respectively:
    hydra generate businessmodel
    hydra generate entities
    
  • Generates front-end framework (i.e. Ionic) and resulting application:
    hydra generate start
    hydra generate app
    

How it Works

Most everything in life is naturally hierarchical, your family, your work organization, data relationships, user interfaces, security models, etc. Hydra starts with what is called a "business model". Business models are broken into the following levels: stakeholders, organizational units, roles (people and systems), responsibilities (or features - for systems), tasks, and data items. Once you get to the data item level, then you can define the detail that results in properties of entity models, columns in database tables, and elements on a screen.

Most rapid application development generators are designed for end users that have no concept of development best practices. Hydra is different in that it is designed with the developer in mind. It results in source code utilizing preferred coding styles, readability, design patterns, and code quality. It doesn't end there. Hydra is highly extensible, allowing for generator participation, interface driven extensions, and even full control UI, business logic, and servicing. It aims to remove the 80% of application development that is repetitive, dull, and drone. It does this while at the same time, allowing for creativity and full autonomy.

Help

System Requirements

  • Windows 10 or higher
  • NodeJs (for npm)
  • Windows Build Tools (dotnet, MSBuild, etc) for development
  • Hydra App Generator Windows Cli (downloadable through the npm Hydra installation package)
  • Preferred though not required: Visual Studio or VS Code

Razor Syntax

@using Ripley.Entities
@using AbstraX

@model EntityModel<Post>
@{
    Layout = "_Repeater.cshtml";

    ViewBag.VirtualScroll = true;
    ViewData["Title"] = "Posts";

    var media = Model.CreateScriptObject<PostMedia>();
    var user = Model.GetLoggedInUser<User>();
}

@section ItemTemplate
{
    <div>
        @* relies on the facet handler on the entity or entity property *@
        <@Model.Entity.Predicate />

        @* creates a binding to an element in the view to code *@
        <ion-input formControlName="@Model.Entity.TimeStamp" type="text"></ion-input>

        @* create an element with script *@
        <input type="file" id="files" name="files[]" multiple onchange="handleFileSelect($event)" />

        @Html.Partial("PostFeedback", Model.Entity.PostFeedbacks, new ViewDataDictionary(this.ViewData) { { "counter", 1 } });
    </div>
}

@section CustomScripts
{
    <script>

        handleFileSelect(evt : Event) {

            let files = evt.target.files; // FileList object

            // files is a FileList of File objects. List some properties.

            let output = [];
            let @media;
            let @user;

            for (let i = 0, f; f = files[i]; i++) {

                @media.FileContents = f.readAsBinaryString();
                @media.FileName = f.name;
                @media.User = user;

                @Model.Create(media);
                                
                output.push('<li><strong>', escape(f.name), '</strong> (', f.type || 'n/a', ') - ',
                          f.size, ' bytes, last modified: ',
                          f.lastModifiedDate ? f.lastModifiedDate.toLocaleDateString() : 'n/a',
                          '</li>');
            }
          }

    </script>
}    

Known Issues

Hydra is a "work in progress". Please be patient as stability evolves.

Installation Instructions

Please visit the installation page here: Installation

Related Resources

Visit: http://www.cloudideaas.com/hydra

Enjoy!

hydra's People

Contributors

kenlnetherland avatar kennetherland avatar testpushhydra avatar

Stargazers

 avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar

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.