Giter VIP home page Giter VIP logo

razorfields's Introduction

RazorFields Generic badge

A universal solution for editable copywriting in ASP.NET core

While RazorFields are under active development, the project is fully functional in it's present state (and being used in several apps of mine). Keep in mind that occassional issues may popup.

What can RazorFields do?

  • simplify your template copywriting
  • separate copywriting X templating layers
  • store actual fields in persistent storage (EntityFramework, more comming soon...)
  • generate API for editing whole system at runtime

Documentation

  • to be done, see examples folder (RazorFields.Demo project)

Nugets

Setup

  • register in services services.AddRazorFields();

  • create public record of yours and tag it with a [RazorModel] attribute

  • inject RazorFields service with DI private readonly IRazorFieldsService _rfs;

  • query tagged razor models var razorModel = _rfs.GetModel<HomeRazorModel>();

Optional

  • add entity framework persistence services.AddRazorFieldsEntityFramework<DatabaseContext>();
  • create Rest API controller
public class RazorFieldsController : RazorFieldsControllerBase
{
    public RazorFieldsController(IRazorFieldsService rfs) : base(rfs)
    {
    }
}

Roadmap

  • In-memory razor model caching

  • Attribute for injection

  • Extension loader

  • EntityFramework connector extension nuget

  • Rest API extension nuget

  • Versioned RazorModel (eg. abstract razor model template you can create versions of)

  • MongoDB connector extension

  • Redis connector extension

  • Admin UI extension

  • Custom distributed cache extension (memory cache, redis)

  • ? Saga-based history extension

License

RazorFields project is licensed under the MIT License

razorfields's People

Contributors

majda107 avatar

Stargazers

 avatar  avatar

Watchers

 avatar  avatar

razorfields's Issues

Versioned RazorModel

A versioned RazorModel
Stored 1:M extension table (with version identifier)

Database model idea

RazorFields
[Id, Name, Value]

RazorFieldsVersion
[Id, RazorFieldId, Version]

  • solve unique name index
  • GetModel with version parameter overload

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.