Skip to content

ignatandrei/NETCoreBlockly

Repository files navigation

NETCore2Blockly

All Contributors

Build Status GitHub license NuGet Generate Thanks Outdated Licenses

What it does

NETCore2Blockly generates Blockly blocks for each of your controller actions.

Demo at https://netcoreblockly.herokuapp.com/ ( play with the links from the bottom)

Demo Video at https://www.youtube.com/watch?v=GptkNWjmCzk

Sample Project is TestBlocklyHtml from this repository

How to install NETCore2Blockly in a .NET Core 3.1 WebAPI / MVC application

Step 1:

Install https://www.nuget.org/packages/NetCore2Blockly/ by running the following command in the Package Manager Console:

Install-Package NetCore2Blockly

Step 2:

Modify Startup.cs by adding

public void ConfigureServices(IServiceCollection services)
        {
            //last line
            services.AddBlockly();
        }
public void Configure(IApplicationBuilder app, IWebHostEnvironment env){
        //if you plan to use as html, do not forget app.UseStaticFiles
        //last line
        app.UseBlockly(); 
}

Step 3:

To see the UI , please add

public void Configure(IApplicationBuilder app, IWebHostEnvironment env){
       
       app.UseBlocklyUI(); // you can customize (with BlocklyUIOptions argument )header name, start blocks, others... 
       //you can add  storage like local storage or sqlite 
       //app.UseBlocklyLocalStorage();
       //app.UseBlocklySqliteStorage() ; // other nuget package
       app.UseBlockly();
}

For Swagger ( local or remote )

app.UseBlocklySwagger("petstore", "https://petstore.swagger.io/v2/swagger.json")

For ODATA ( local or remote)

app.UseBlocklyOData("OdataV4", "https://services.odata.org/TripPinRESTierService/");

For GraphQL

app.UseBlocklyGraphQL("localGraphql", "/graphql");

For authentication

See links 22 for JWT and 31 for Auth0 from https://netcoreblockly.herokuapp.com/

Step 4:

Run the application and browse to /blockly.html

That's all!

Contributors ✨

Thanks goes to these wonderful people (emoji key):


Cosmin Popescu

💻

Adrian Nasui

📖

Tudor Iliescu

💻

robertszabobv

💻

This project follows the all-contributors specification. Contributions of any kind welcome!