Coder Social home page Coder Social logo

timdinhdotcom / oqtane.framework Goto Github PK

View Code? Open in Web Editor NEW

This project forked from oqtane/oqtane.framework

0.0 0.0 0.0 57.51 MB

Modular Application Framework for Blazor

Home Page: http://www.oqtane.org

License: MIT License

HTML 35.22% C# 59.82% CSS 3.91% JavaScript 0.96% Batchfile 0.08% PowerShell 0.02%

oqtane.framework's Introduction

Oqtane Framework

Deploy to Azure

Oqtane

Oqtane is a Modular Application Framework. It leverages Blazor, an open source and cross-platform web UI framework for building single-page apps using .NET and C# instead of JavaScript. Blazor apps are composed of reusable web UI components implemented using C#, HTML, and CSS. Both client and server code is written in C#, allowing you to share code and libraries.

Oqtane is being developed based on some fundamental principles which are outlined in the Oqtane Philosophy.

Please note that this project is owned by the .NET Foundation and is governed by the .NET Foundation Contributor Covenant Code of Conduct

Getting Started

Using Version 2+:

  • Install .NET 5 SDK (v5.0.100).

  • Install the latest edition (v16.8 or higher) of Visual Studio 2019 (Community, Professional, or Enterprise Editions) with the ASP.NET and web development workload enabled. Oqtane works with ALL editions of Visual Studio from Community to Enterprise. If you do not have a SQL Server installation available already and you wish to use LocalDB for development, you must also install the .NET desktop development workload.

  • Download a release or Clone the Oqtane source code to your local system. Open the Oqtane.sln solution file and Build the solution. Make sure you specify Oqtane.Server as the Startup Project and then Run the application.

Using Version 1:

  • Install .NET Core 3.1 SDK (v3.1.300).

  • Install Visual Studio 2019 (Community, Professional, or Enterprise Editions) with the ASP.NET and web development workload enabled. Oqtane works with ALL editions of Visual Studio from Community to Enterprise. If you do not have a SQL Server installation available already and you wish to use LocalDB for development, you must also install the .NET desktop development workload.

  • Download a release or Clone the Oqtane source code from a v1.x Tag to your local system. Open the Oqtane.sln solution file and Build the solution. Make sure you specify Oqtane.Server as the Startup Project and then Run the application.

Installing an official release:

Additional Instructions

  • If you have already installed a previous version of Oqtane and you wish to do a clean database install, simply reset the DefaultConnection value in the Oqtane.Server\appsettings.json file to "". This will trigger a re-install when you run the application which will execute the database installation scripts.

  • If you want to submit pull requests make sure you install the Github Extension For Visual Studio. It is recommended you ignore any local changes you have made to the appsettings.json file before you submit a pull request. To automate this activity, open a command prompt and navigate to the /Oqtane.Server/ folder and enter the command "git update-index --skip-worktree appsettings.json"

Video Series

  • If you are getting started with Oqtane, a series of videos are available which explain how to install the product, interact with the user interface, and develop custom modules.

Documentation

There is a separate Documentation repository which contains a variety of types of documentation for Oqtane, including API documentation that is auto generated using Docfx. The contents of the repository is published to Githib Pages and is available at https://docs.oqtane.org

Roadmap

This project is a work in progress and the schedule for implementing enhancements is dependent upon the availability of community members who are willing/able to assist.

V.3.0.0 ( Q4 2021 )

  • Migration to .NET 6

V.2.3.0 ( Q3 2021 )

  • Authentication extensibility ( ie. Azure B2C, Social logins, etc... )
  • Configurable password complexity for local authentication

V.2.2.0 ( Jul 2021 )

  • Bootstrap 5 Upgrade
  • Package Service Integration
  • Default and Shared Resource File Inclusion
  • Startup Error Logging
  • API Controller Validation and Logging

V.2.1.0 ( Jun 4, 2021 )

  • Cross Platform Database Support ( ie. LocalDB, SQL Server, SQLite, MySQL, PostgreSQL ) - see #964
  • Utilize EF Core Migrations - see #964
  • Public Content Folder Support
  • Multi-tenant Infrastructure Improvements
  • User Authorization Optimization
  • Consiolidation of Package Management
  • Blazor Server Pre-rendering
  • Translation Package Installation

V.2.0.2 ( Apr 19, 2021 )

  • Assorted fixes and user experience improvements

V.2.0.1 ( Feb 27, 2021 )

  • Complete Static Localization of Admin UI

V.2.0.0 ( released in conjuntion with .NET 5 on Nov 11, 2020 )

  • Migration to .NET 5
  • Static Localization ( ie. labels, help text, etc.. )
  • Improved JavaScript Reference Support
  • Performance Optimizations
  • Developer Productivity Enhancements

V.1.0.0 ( released in conjunction with .NET Core 3.2 on May 19, 2020 )

  • Multi-Tenant ( Shared Database & Isolated Database )
  • Modular Architecture
  • Headless API with Swagger Support
  • Dynamic Page Compositing Model / Site & Page Management
  • Authentication / User Management / Profile Management
  • Authorization / Roles Management / Granular Permissions
  • Dynamic Routing
  • Extensibility via Custom Modules
  • Extensibility via Custom Themes
  • Event Logging / Audit Trail
  • Folder / File Management
  • Recycle Bin
  • Scheduled Jobs ( Background Processing )
  • Notifications / Email Delivery
  • Seamless Upgrade Experience
  • Progressive Web Application Support
  • JavaScript Lazy Loading
  • Dynamic CSS/Lazy Loading

Background

Oqtane was created by Shaun Walker and is inspired by the DotNetNuke web application framework. Initially created as a proof of concept, Oqtane is a native Blazor application written from the ground up using modern .NET Core technology. It is a modular application framework offering a fully dynamic page compositing model, multi-site support, designer friendly templates (skins), and extensibility via third party modules.

Release Announcements

Oqtane 2.0

Oqtane 1.0

Oqtane POC

Architecture

The following diagram visualizes the client and server components in the Oqtane architecture.

Architecture

Databases

As of version 2.1, Oqtane supports multiple relational database providers.

Databases

Example Screenshots

Install Wizard:

Installer

Default view after installation:

Home

A seamless login flow utilizing .NET Core Identity services:

Login

Main view for authorized users, allowing full management of modules and content:

Admin View

Content editing user experience using modal dialog:

Edit Content

Context menu for managing specific module on page:

Manage Module

Control panel for adding, editing, and deleting pages as well as adding new modules to a page:

Manage Page

Admin dashboard for accessing the various administrative features of the framework:

Admin Dashboard

Responsive design mobile view:

Mobile View

oqtane.framework's People

Contributors

sbwalker avatar hishamco avatar pavelvsl avatar cnurse avatar fileman avatar leigh-pointer avatar jimspillane avatar mikecasas avatar adefwebserver avatar thabaum avatar gjwalk avatar pizzaconsole avatar ijungleboy avatar spseanlong avatar mitchelsellers avatar jayson-furr avatar svreic avatar alexhendel avatar david-poindexter avatar gotiap avatar user-gwalk avatar isaeed avatar erw13n avatar jmatcho avatar markdav-is avatar philipmur avatar raceeend avatar nicpitsch avatar user-jwalker avatar

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.