Framework
Open Source framework for writing data-centric applications using the latest versions of .Net Core, C# (not-nullable), ASP.NET Web API, Typescript (strict), React, D3 and Sql Server or PostgreeSQL
Install / Use
/learn @signumsoftware/FrameworkREADME
Signum Framework
Signum Framework is an Open Source framework from Signum Software for writing data-centric applications over the latest technologies from Microsoft (.Net Core, C#, ASP.Net Web.API and Typescript in their latest versions) and web standard libraries (React, Bootstrap and D3). It uses either Microsoft SQL Server or PostgreSQL to store data.
The main focus of the framework is being able to write vertical modules (database tables, entities, logic and React UI components) that can be shared between projects.
It provides a consistent model for N-layer architectures by moving the entities to the very center of your solution using Signum.Entities.
Our cutting-edge ORM, Signum.Engine, has a full LINQ Providers that avoids N + 1 problem and lets you UPDATE / DELETE / INSERT entities without having to retrieve them first.
Signum.React let you write a Single Page Application using React, Bootstrap and TypeScript.
Demo Application
Check some of the features of Signum Framework in Southwind, a Northwind port running in Azure.
Signum Extensions
Set of modules that complements Signum Framework like Authorization, Charting, Dashboards, Mailing, Processes, Scheduled Tasks, Disconnected, User Queries...
Check the different modules in https://www.signumsoftware.com/es/Extensions
Main Features
- Designed for vertical modules (aka: Bounded Context)
- Entities-first approach
- ORM with a full LINQ Provider
- Unified validation
- Schema generation and synchronization
- WPF smart-client interface
- React/Typescript SPA
Principles
- Promote simple and clean code, avoiding astronautical architectures.
- Favor compile-time checked code over dynamic code.
- Create a solid foundation for the integration of application modules (on schema, BL and UI code).
- Encourage a more functional way of programming.
- Avoid code duplication.
- Be a good citizen wherever we are (.Net, LINQ, React) following common practices and conventions.
Getting Started
- Signum Framework: Know what makes Signum Framework suited for building complex business applications.
- Signum Extensions: A set of ready-to-use modules that work with any Signum Framework application.
- DeepWiki: Incredibly AI-powered documentation.
- Documentation: Documentation (from Markdown files in GitHub)
- Tutorials: Tutorials (in docx and pptx)
- Create Application: The simplest way to get started. Create a new project by renaming and customizing Southwind example application.
ChangeLog
Signum Framework doesn't use any numeric versioning, since is distributed as source code we just use Git commit hashes.
Whenever there are big changes worth to mention, we typicaly write it in the related commit. Here is the list of the relevant changes:
- 2025.12.15 Run TSGenerator on demand
- 2025.12.14 TypeScript Native (tsgo) Previews 🚀
- 2025.12.06 Split ActiveDirectory into AzureAD and WindowsAD 🔑
- 2025.11.28 Import/Export Help 📚
- 2025.11.23 .Net 10
- 2025.10.01 TypeScript Compilation Performance and Signum.TSCBuild
- 2025.09.22 Toolbar Improvements 🛠️
- 2025.09.01 Dark Mode, ThemeSelector and shadow panels 🌙☀️
- 2025.08.22 Webpack -> Vite, React 19, React Router 7.7 and react-widgets-up
- 2025.07.21 Improvements in charting (translations, scales) ChartColumnType
- 2025.07.16 Nicer Dashboards
- 2025.06.23 AutoExpand in QueryTokens
- 2025.05.25 Adopt LF (\n) as new-line separator for all file types (.ts, .tsx, .cs, etc...) using
.gitattributes - 2025.04.01 Switch
Signum.HtmlEditorfrom draft.js (deprecated) to lexical (great work @fwo-bechtle!) - 2025.03.03 MList tables have _ separating main table name from MList by default (dbo.Order_Details)
- 2024.11.16 .Net 9
- 2024.10.28 CSV Performance Improvements?
- 2024.08.19 Time Machine in Charting! ⏲📈
- 2024.07.02 Isolated Declarations
- 2024.03.27 Navigator, Finder, Operations, and *Client modules get a
namespace - 2024.02.17
EntityLine<T>with TS 5.4 beta - 2023.10.31 From ValueLine to AutoLine
- 2023.09.02 Presenting QueryAuditors (aka TypeConditionLogic.RegisterWhenAlreadyFilteringBy)
- 2023.08.30 QuickLinks in SearchControl Columns
- 2023.05.09 Modular Revolution 🔥🔥🔥
- 2023.04.18 Full-Text-Search 🔎
- 2023.04.14 Simple Pinned Filters, Split Values and EntityStrip in SearchControl
- 2023.03.24 Accessibility 🧑🦯
- 2023.02.18 Time Machine 2.0 🕰️
- 2023.02.07 Presenting Custom Drilldowns
- 2023.01.31 Upgrade to react-router 6.7.0
- 2022.12.16 Responsive SearchControl
- 2022.12.14 Client-side Diff
- 2022.12.06 ChatGPT 🤖 can program with Signum Framework!
- 2022.12.01 Color Palette 🌈
- 2022.11.08 Upgrade to .Net 7
- 2022.10.25 Cleanup in EmailSenderConfigurationEntity
- 2022.08.30 Presenting EntityAccordion
- 2022.08.18 Presenting EntityTypeToken
- 2022.08.11 Logging Client-Side Errors
- 2022.08.09 Presenting SeparatedByNewLine / SeparatedByComma
- 2022.08.05 Remove Promise.done()
- 2022.07.30 CellOperationButton and commonOnClick
- 2022.07.27 RoleEntity IsTrivialMerge
- [2022.07.22 TypeCondition intersection](https://github.com/signumsoftware/framework/commit/15024fa5f81b7e627b564ee229edb19990411e1a#c
