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://ignatandrei.github.io/BlocklyAutomation/

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

Sample Project is TestBlocklyHtml from this repository

Contributors welcome! - please send email to email or see issues tab.

How to install NETCore2Blockly in a .NET Core 6 WebAPI / MVC application in 2 steps + run 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:

//after app.MapControllers();
app.UseBlocklyUI(app.Environment);
app.UseBlocklyAutomation();

Run application

Run the application from VS and browse to /BlocklyAutomation/ or /BlocklyAutomation/index.html

That's all !( 2 steps + run )

How to install NETCore2Blockly in a .NET Core 5 WebAPI / MVC application in 2 steps + run 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)
{
  //somewhere generate the swagger
  services.AddSwaggerGen(c =>
  {
      c.SwaggerDoc("v1", new OpenApiInfo { Title = "My API", Version = "v1" });
  });


}

public void Configure(IApplicationBuilder app, IWebHostEnvironment env)
{
  //last line
  app.UseDefaultFiles();
  app.UseStaticFiles();
  app.UseSwagger();
  app.UseBlocklyUI(env);
//code
  app.UseEndpoints(endpoints =>
  {
      endpoints.MapControllers();
      endpoints.UseBlocklyAutomation();
  });
}

Run application

Run the application from VS and browse to /BlocklyAutomation/ or /BlocklyAutomation/index.html

How to install NETCore2Blockly in a .NET Core 3.1 WebAPI / MVC application in 2 steps + run application

Step 1

Install-Package Swashbuckle.AspNetCore -Version 5.6.3 Install-Package NetCore2Blockly -Version 3.2022.224.16

Step 2

 app.UseDefaultFiles();
 app.UseStaticFiles();
 app.UseSwagger();
 //code
 app.UseBlocklyUI(env);
app.UseEndpoints(endpoints =>
{
    endpoints.MapControllers();
    endpoints.UseBlocklyAutomation();
});

Run application

Run the application from VS and browse to /BlocklyAutomation/ or /BlocklyAutomation/index.html

Migrating from 1

Replace

using NetCore2Blockly; => using NetCore2BlocklyNew; app.UseBlocklyUI(); => app.UseBlocklyUI(env); Delete app.UseBlockly(); => Add => endpoints.UseBlocklyAutomation();

Navigate to /blocklyAutomation

Advanced usage remote data

For Remote Swagger ( CORS activated )

TBC: create BlocklyAutomation/assets/loadAtStartup/swaggers.json

For authentication - JSON Web Tokens

See Demos from https://ignatandrei.github.io/BlocklyAutomation/

Also, it works with Active Directory enabled - see Authentication category.

For adding headers to Http requests

See https://ignatandrei.github.io/BlocklyAutomation/BlocklyAutomation/automation/loadexample/jwt

For exporting data as CSV

See https://ignatandrei.github.io/BlocklyAutomation/BlocklyAutomation/automation/loadexample/NetCoreBlockly_SaveCSV

For exporting data as image

See https://ignatandrei.github.io/BlocklyAutomation/BlocklyAutomation/automation/loadexample/saveImage

Making a simple CRUD ( create ,read, update , delete ) application

See https://ignatandrei.github.io/BlocklyAutomation/BlocklyAutomation/automation/loadexample/NetCoreBlockly_DeleteDepartment or search for department in demos

Adding your blocks

Create BlocklyAutomation\assets\loadAtStartup\customCategories.txt

More information

Download the source code, run the TestNetCorePackage project ( in the test folder ).

Testing

Contributors ✨

Thanks goes to these wonderful people (emoji key):

If you want to contribute, that is plenty of work to be done -see issues tab .


Cosmin Popescu

πŸ’»

Adrian Nasui

πŸ“–

Tudor Iliescu

πŸ’»

robertszabobv

πŸ’»

Noah Andrews

πŸ’»

Rene Escalante

πŸ’»

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