Skip to content

Extendable .net web framework, support dynamic plugins.

License

Notifications You must be signed in to change notification settings

jce195447/ZKWeb

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Extendable .net web framework

Features:

  • Dynamic plugins
    • Csscript + Codedom
    • Auto compile after modification
  • Code first database auto migration
    • NHibernate
    • Auto migration without any handwrite command
  • Simple and high performance Ioc container
  • Simple and extendable template sysetm
    • DotLiquid
    • Template overriding like django
    • Mobile specialized templates
    • Dynamic contents (area + widget pattern)
    • Per widget render result cache (perform extremely fast rending)
  • Multi language support
  • Multi timezone support
  • Unit test support
    • Console and web test runner
    • Ioc container overridden
    • Http context overridden
    • Temporary database
  • Form generation
    • Supported by plugin
  • Scaffolding
    • Supported by plugin
  • Pesudo static
    • Supported by plugin
  • Visual page editor
    • Prepared and planned

Version: 0.9.6 testing (backward compatibility is not provided yet)

Plugins: http://github.com/zkweb-framework/ZKWeb.Plugins
Document: http://zkweb-framework.github.io (Chinese only)
References: http://zkweb-framework.github.io/cn/references/zkweb/html/annotated.html

Demo Website: http://zkwebsite.com/admin
Demo Account: demo 123456

This framework is inspired by django
All comments are written in chinese at this moment because main developers are chinese.

MIT License
Copyright © 2016 303248153@github
If you have any license issue please contact [email protected].

Fast Help:

a. How to getting start?

  • Download ZKWeb and ZKWeb.Plugins from github
  • Put ZKWeb and ZKWeb.Plugins in same folder
  • Edit config.json under ZKWeb\App_Data change Database and ConnectionString
    • Example for mssql
     "Database": "mssql",
     "ConnectionString": "Server=127.0.0.1;Database=test_db;User Id=test_user;Password=123456;",
    
    • Example for postgresql
     "Database": "postgresql",
     "ConnectionString": "Server=127.0.0.1;Port=5432;Database=test_db;User Id=test_user;Password=123456;",
    
    • Example for sqlite
     "Database": "sqlite",
     "ConnectionString": "Data Source={{App_Data}}/test.db;Version=3;",
    
    • Example for mysql
     "Database": "mysql",
     "ConnectionString": "Server=127.0.0.1;Port=3306;Database=test_db;User Id=test_user;Password=123456;",
    
  • Once database configuration completed, you can run ZKWeb project from visual studio.

b. How to add my own plugin?

  • Add folder "Example" under "ZKWeb.Plugins"

  • Plugin folder struction:

     Example
     	bin: compiled assembly
     	src: source files for automatic compilation in developement
     	static: static files
     	template: default html templates
     	template.mobile: mobile specialized html templates
     	template.desktop: desktop specialized html templates
    
  • Create "ExampleController.cs" under "Example\src"

     [ExportMany]
     public class ExampleController : IController {
     		[Action("example")]
     		public IActionResult Example() {
     			return new TemplateResult("example/test.html", new { message = "hello world" });
     		}
     }
  • Create "test.html" under "Example\template\example"

     <div>{{ message }}</div>
  • Edit "ZKWeb\App_Data\config.json", add "Example" to "Plugins" list

  • Open browser and visit http://localhost:port/example

About

Extendable .net web framework, support dynamic plugins.

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Languages

  • C# 100.0%