Code generation libraries for .Net using structured data as project starting point.
The motivation for creating this project is to find a way to leverage the power of JSON-LD and web vocabularies in order to be able to build entire application suites based solely on project descriptions delivered in the form of structured data types like JSON-LD or RDFa.
- Get structured input for a given vocabulary.
- Translate structured input to json-ld
- Create mapping from json-ld to C# types
- Translate from vocabulary to C# code using Microsoft's System.CodeDom
- Generate entities / interface / etc.
- Create standard set of project templates for:
- ADO.NET Data Access Layer using EF CodeFirst
- Use output from phase I as CodeFirst Migrations input to data access layer
- Create standard set of project templates for:
- ODataV4 WebAPI
- ASP.Net MVC 5
- Use ADO.NET Data Access Layer from Phase II
- In Mvc, Scaffold Entity Views / Controllers that support the following functions for each Entity: - (B)rowse - (R)ead - (E)dit - (A)dd - (D)elete - (S)earch - (L)ist
- In MVC Views, add application/json+ld and microdata to every view generated and update with data
- In ODataV4, Create ODataConfig, EntitySet Controllers, etc. from Data Access Layer Phase II component
- Add OAuth 2 Support / Integration for all created components
- Create looser coupling between components to allow support of wider range of frameworks, persistence, etc.
- Add ability to choose which actions are included / not included in created code by leveraging JSON-LD Actions or DOAP or something
- Expose Service API via structured data to aid in discoverability
The general apporach will be to user another third party tool (jsonld.js)