Giter Site home page Giter Site logo

shesha-io / shesha-framework Goto Github PK

View Code? Open in Web Editor NEW
311.0 7.0 47.0 101.8 MB

An open-source Low-Code development framework for .NET developers. Create .NET based business applications with 80% less code.

Home Page: https://shesha.io

License: Apache License 2.0

Batchfile 0.01% C# 50.32% Dockerfile 0.02% JavaScript 1.20% HTML 0.27% TypeScript 46.98% CSS 0.45% SCSS 0.31% PowerShell 0.07% PLpgSQL 0.35%
low-code-framework abp abp-framework app-factory business-solutions crud-application csharp enterprise-software nextjs open-source

shesha-framework's Introduction

Shesha Logo

What is Shesha?

Shesha is an open-source Low-Code development framework specifically for .NET developers. You can build anything from simple CRUD apps, admin panels to complex business applications super quickly.

Shesha builds on top of other excellent frameworks and libraries (most notably ASP.NET Core, Abp.io, React, NextJs), layers on Low-Code capabilities (think drag & drop form builder and app themer), and incorporates standard admin functionality (e.g. User and security management) to drastically reduce the time and effort required to build applications.

In fact, in our experience, you will likely need >80% less code for most typical business applications.

๐Ÿ‘พ Embark on an adventure and explore the boundless possibilities of Shesha at our tutorial site! It's not just a playground; it's a vibrant universe where you can interact with the framework and witness its magic unfold.

More info from the Shesha website.

Features

Shesha comes with a range of features that massively reduce the effort required to create business applications:

  • Form Builder allows users to create application pages and by simply 'dragging and dropping' components onto a page designer. With over 40 components that come as standard, you will be able to create powerful and professional-looking applications without writing a line of front-end code. If the standard components aren't sufficient, simply create your own in React or create entirely custom pages.
  • Dynamic CRUD APIs get 'auto-magically' generated from your domain entities without the need for repetitive boilerplate code. APIs can be secured simply through configuration.
  • App Themer allows you to match your branding needs with zero effort.
  • Administration Panel provides the most common admin functionalities required by almost any business application 'out-of-the-box', including:
    • Security:
      • User Management
      • Roles and permissions management
      • API Configuration
      • Data change audits
      • Logon Audits
    • Settings management
    • Notification templates and audits
    • Scheduled and Background Jobs management
    • Reference/Lookup lists management

Get Started โ€ข YouTube โ€ข Demo Site


Build Apps in 4 Steps

1. Implement your Domain

Shesha takes a Domain-driven approach to application development, the starting point is therefore to implement your domain. This is done by implementing Entity classes as you would do for any business application. You can extend standard entities that come as part of the base Shesha model (e.g. Person, Organisation, Site, etc...) or by creating your own.

Create your domain

2. Expose your APIs

All it takes to expose your domain and data through dynamically generated CRUD APIs is the checking of a box and specifying the authorization rules.

You will immediately get full CRUD support as well as GraphQL endpoints for flexible and efficient data retrieval.

Expose your APIs

Where the dynamically generated APIs are insufficient, you still have the full power of Visual Studio and ASP.NET Core to create custom APIs the way you are used to.

3. Configure your UI

Once you have exposed your domain and APIs, you can build your UI through our drag-and-drop form builder. There are over 40 different components including tables, lists, forms, sub-forms, modals, and many more allowing you to build sophisticated and scalable enterprise applications without a line of front-end code.

Expose your APIs

Where the configuration-only approach is too limiting, you can add Javascript snippets to implement more advanced behavior or build custom components or entire pages using React.

4. Deploy your app

Simply deploy your application as you would any other ASP.NET Core website with Sql Server. Deploy on your favorite cloud or on-premise.

Getting Started

The easiest way to get started is by downloading a starter template and by following our tutorial videos that will take you through the full process of building your first Shesha application.

Support and Community

Issues are inevitable. When you have one, our entire team and our active developer community are around to help.

๐Ÿ’ฌ Talk to us on Discord
๐Ÿ“„ Find a solution in our Documentation
โš ๏ธ Open an issue right here on GitHub
๐Ÿ’ก Use our learning resources: Videos
๐Ÿ‘พ Play around with live configurations on our tutorial site

How to Contribute

We โค๏ธ our contributors. We're committed to fostering an open, welcoming, and safe environment in the community.

๐Ÿ“• We expect everyone participating in the community to abide by our Code of Conduct. Please read and follow it.
๐Ÿค If you'd like to contribute, start by reading our Contribution Guide.
๐Ÿ‘พ Explore some good first issues.

Let's build great software together!

License

Shesha is available under the Apache License 2.0. Use it wisely!

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.