All Projects → logikfabrik → uJet

logikfabrik / uJet

Licence: MIT license
Umbraco Jet (uJet) is a Code First approach to building MVC applications in Umbraco 7.

Programming Languages

C#
18002 projects

Projects that are alternatives of or similar to uJet

Zoombraco
⚡ A lean boilerplate for rapidly developing strong-typed Umbraco websites.
Stars: ✭ 37 (+131.25%)
Mutual labels:  mvc, umbraco
nuPickers
nuPickers is a collection of Umbraco v7 Property Editors
Stars: ✭ 67 (+318.75%)
Mutual labels:  umbraco
wordpressmvc
Разработка сайтов на Wordpress с помощью MVC подхода
Stars: ✭ 12 (-25%)
Mutual labels:  mvc
sinatras-skeleton
Basic Sinatra Skeleton MVC CRUD App with Sprockets, Warden, ActiveRecord and PostgresQL
Stars: ✭ 13 (-18.75%)
Mutual labels:  mvc
AllInOneFX
All In One JavaFX Application with a curated list of awesome JavaFX libraries, frameworks
Stars: ✭ 26 (+62.5%)
Mutual labels:  mvc
simple-mvc
Simple push & pull MVC framework to realize a test-driven experience.
Stars: ✭ 24 (+50%)
Mutual labels:  mvc
umbraco-ditto
Ditto - the friendly view-model mapper for Umbraco
Stars: ✭ 83 (+418.75%)
Mutual labels:  umbraco
spring-web-initializr
Spring Web Initializr is a library that helps you easily create Web Apps with Spring Boot.
Stars: ✭ 16 (+0%)
Mutual labels:  mvc
AspNetCoreMvcAngular
ASP.NET Core MVC with angular in MVC View OpenID Connect Hybrid Flow
Stars: ✭ 54 (+237.5%)
Mutual labels:  mvc
MVVM-Design-Pattern-Demo
An Xcode 9 project written in Swift 4 code designed using the MVVM design pattern, truly extolling the virtues of MVVM over MVC.
Stars: ✭ 31 (+93.75%)
Mutual labels:  mvc
community
基于spring boot与mybatis搭建的社区
Stars: ✭ 18 (+12.5%)
Mutual labels:  mvc
nuts
Nuts and bolts for building cross-platform UI (HTML, Flutter, CLI) using Dart. Also screw frameworks (React, Vue, Angular).
Stars: ✭ 12 (-25%)
Mutual labels:  mvc
puremvc-delphi-standard-framework
A Delphi implementation of PureMVC (http://puremvc.org/)
Stars: ✭ 44 (+175%)
Mutual labels:  mvc
online-training
Online Training website using ASP.Net Core 2.0 & Angular 4
Stars: ✭ 26 (+62.5%)
Mutual labels:  mvc
RouteManager
iOS模块化,模块间解耦,路由中心设计
Stars: ✭ 45 (+181.25%)
Mutual labels:  mvc
SmartMvc
深入解析SpringMVC核心原理:从手写简易版MVC框架开始(SmartMvc)
Stars: ✭ 66 (+312.5%)
Mutual labels:  mvc
jasyncapi
/jay-sync-api/ is a Java code-first tool for AsyncAPI specification
Stars: ✭ 29 (+81.25%)
Mutual labels:  code-first
ubereats-api
🍕 ubereats api for the ios: Express.js and Yelp api
Stars: ✭ 20 (+25%)
Mutual labels:  mvc
soosyze
🌠 Soosyze CMS is a minimalist content management system in PHP, without database to create and manage your website easily. https://soosyze.com
Stars: ✭ 39 (+143.75%)
Mutual labels:  mvc
Polyel-Framework
⚡️ Voltis Core: A PHP framework based on Swoole from the ground up
Stars: ✭ 22 (+37.5%)
Mutual labels:  mvc

uJet Build status Documentation Status Quality Gate

Umbraco Jet (uJet) is a Code First approach to building MVC applications in Umbraco 7. Declare your document, media, member, and data types in code, and have uJet move them into Umbraco for you - simplifying development, deployment and versioning.

uJet is capable of serving you with instances of your document types. With uJet you're no longer bound by the RenderModel, or by the constraints set by the built-in ControllerActionInvoker. uJet brings you strongly typed views without you having to roll your own view models.

uJet is a developer tool for Umbraco 7, released as Open Source (MIT). It supports document types and media types (including inheritance and composition), member types, data types, and template synchronization.

Documentation

Online documentation can be found at http://ujet.readthedocs.io/.

NuGet

PM> Install-Package uJet

How To

uJet is easy to use. Add a reference to uJet to your Umbraco application. Then create your types and decorate them using the DocumentType, MediaType, MemberType, and DataType attributes. Fire up your application and all of your types will now be available in the Umbraco back office.

Quick Start Example

  1. Get, compile, and reference the source code - or use the NuGet.
  2. Create a model; in this case a document type. Use data annotations for editorial support (e.g. validation and defaults) in the back office.
  3. Create a view. Name it according to the action method defined in the controller, Views\MyPage\Index.cshtml.
  4. Create a controller inheriting from Logikfabrik.Umbraco.Jet.Web.Mvc.JetController.
  5. Run your application and log in to Umbraco. The document type My page should now be available. Pages you create using this document type will all be handled by the MyPageController. It's that easy!

Model

namespace Example.Models
{
    using System.ComponentModel.DataAnnotations;
    using Logikfabrik.Umbraco.Jet;

    [DocumentType(
        "My page",
        Description = "Document type for my page",
        AllowedAsRoot = true)]
    public class MyPage
    {
        [ScaffoldColumn(false)]
        public string Name { get; set; }

        [Display(
            Name = "Description",
            Description = "A short description of my page",
            GroupName = "My group",
            Order = 100)]
        [Required]
        public string Description { get; set; }
    }
}

View

@model Example.Models.MyPage

@{
    Layout = null;
}

<!DOCTYPE html>
<html>
<head>
    <title></title>
</head>
<body>
    <h1>@Model.Name</h1>
    <p>@Model.Description</p>
</body>
</html>

Controller

namespace Example.Controllers
{
    using System.Web.Mvc;
    using Logikfabrik.Umbraco.Jet.Web.Mvc;
    using Models;

    public class MyPageController : JetController
    {
        public ActionResult Index(MyPage model)
        {
            return View(model);
        }
    }
}

Contributions

uJet is Open Source (MIT), and you’re welcome to contribute!

If you have a bug report, feature request, or suggestion, please open a new issue. To submit a patch, please send a pull request.

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].