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
![image](https://private-user-images.githubusercontent.com/52143624/295248939-c4bf083d-38e1-486d-aaf2-2177d7ad77ef.png?jwt=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpc3MiOiJnaXRodWIuY29tIiwiYXVkIjoicmF3LmdpdGh1YnVzZXJjb250ZW50LmNvbSIsImtleSI6ImtleTUiLCJleHAiOjE3Mzg5NjUxODgsIm5iZiI6MTczODk2NDg4OCwicGF0aCI6Ii81MjE0MzYyNC8yOTUyNDg5MzktYzRiZjA4M2QtMzhlMS00ODZkLWFhZjItMjE3N2Q3YWQ3N2VmLnBuZz9YLUFtei1BbGdvcml0aG09QVdTNC1ITUFDLVNIQTI1NiZYLUFtei1DcmVkZW50aWFsPUFLSUFWQ09EWUxTQTUzUFFLNFpBJTJGMjAyNTAyMDclMkZ1cy1lYXN0LTElMkZzMyUyRmF3czRfcmVxdWVzdCZYLUFtei1EYXRlPTIwMjUwMjA3VDIxNDgwOFomWC1BbXotRXhwaXJlcz0zMDAmWC1BbXotU2lnbmF0dXJlPTA5OGJhNmI0MzJlNjdmOTBkZjk5N2Q2YTRkY2I0Mzc0NzAxZDc4MTFhZWVlZjU5ZThiZDc4NGE1NDFjNmJkZWEmWC1BbXotU2lnbmVkSGVhZGVycz1ob3N0In0.9At8_nxciIqZnTQ9mz0yEBbL2QsFAo1Tq8Op5DrHUOE)
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.