JJMasterData is an open-source .NET library to help you create dynamic CRUDs quickly from data dictionaries (database metadata), along with other boilerplate-intensive things like exporting and importing data.
- Components generated at runtime 🔥
- Data exportation & importation
↔️ - Database script generation ✍️
- Plugins support by interfaces 🪄
- Multiple forms using relationships⛓️
Setup-JJMasterData.mp4
- Create an ASP.NET Core project (it can be Blazor, MVC, Razor Pages, whetever you like...)
- Install
JJMasterData.Web
dotnet add package JJMasterData.Web
- Configure your
IConfiguration
source with a connection string atJJMasterData:ConnectionString
and a secret key atJJMasterData:SecretKey
{
"JJMasterData": {
"DataDictionaryTableName": "MasterData",
"ConnectionString": "Server=localhost;Database=JJMasterData;Integrated Security=True;Trust Server Certificate=true",
"ReadProcedurePattern": "{tablename}Get",
"WriteProcedurePattern": "{tablename}Set",
"SecretKey": "ExampleSecretKey"
}
}
- At
Program.cs
add the following lines:
using JJMasterData.Web.Configuration;
var builder = WebApplication.CreateBuilder(args);
builder.Services.AddJJMasterDataWeb();
///...
var app = builder.Build();
///...
//Required middlewares
app.UseStaticFiles();
app.UseSession();
app.MapJJMasterData();
app.Run();
- Create a
wwwroot
folder if your project is empty - Run the project and visit
/en-US/DataDictionary/Element/Index
You can get the appsettings.json schema URL from here
See all steps in documentation.
-
Install .NET 8
-
Install NodeJS
-
Clone this git repository
-
Open
JJMasterData.sln
file at your IDE -
Set the
WebEntryPoint
as startup project -
At
src/Web
run at your terminal
npm i
- Run the project
Have a bug or a feature request?
Please first search for existing and closed issues.
If your problem or idea is not addressed yet, please open a new issue.