Auto Code Generator - For Angular + .NET core Web API + DB
Introduction
The software automatically generates code for Angular 16, .NET Core 6 Web API, and DB scripts based on your given object models written in C#.
Smart enough to detect one to many relationship properties and many to many relationship properties and generate appropriate code for Angular and Web API and DB migration will take care of it automatically while creating the DB tables.
In video you can see how the code will get generated from model objects and how to use that code and how the working screens will look like.
Angular Code:
Automatically generates code for Add, Update, Delete, View, List, Search, Cascading Dropdowns, and Cascading Screens.
Supports one-to-many and many-to-many relationship models.
Implement the validation as defined in model class and also give automatic validation error message if validation message not provided in object model.
On search screen for date properties creates the date range, so that you can also search with in a date range.
On search screen for int/double/float properties creates min and max textboxes
.NET Core Web API Code:
Generates code following the onion or n-layer architecture.
Creates API controllers, DTO models, Service Interfaces, Service Implementations, Repository Interfaces, and Repository Implementations.
Implements the services and repository patterns for clean and modular code.
Also create mapping classes to map DTO object with model using Auto-Mapper.
Also provide custom compare validator which can validate the fields based on =, <=, >=, !=, == and also support comma separated validation (for e.g.. you want user to enter only specific given email Ids other wise show error)
Smart enough to club the validation provided on EF navigation property and corresponding property defined in class/model.
Database Creation:
With Entity Framework (EF) migrations, you can easily generate and manage databases.
EF migrations allow you to make changes to your application's data model and automatically generate corresponding changes to the database schema.
Using migration commands, such as "Add-Migration" and "Update-Database," you can apply these changes to the database seamlessly, preserving data whenever possible.
How we are unique
Other tools need to drag and drop all screen one by one as per model/table. Suppose there are ten tables then you need to drag and drop for each model/table and then they will create the CURD screens and those screen has some limitations as described below.
Other tools needs to give validation on every field in every form one by one, but in our tool, we automatically put validation based on model, for e.g.. required, min-max length, compare etc.
In other tools not able to detect which fields should be generated as textbox and which will be generated as dropdown, you have to manually change the field types.
In other tools you need to manually give the logic and bindings for the cascading dropdowns.
For e.g. country, state and city dropdowns, which is time consuming.
For search Forms our tool automatically generate fields with range functionality based on their data type, but in other tools we have to manually do that.
Other tools are not creating screens based on DB relationships (like one to many or many to many), they just create the screen with fields and we have to manually setup the relational flow, which is time consuming.
Like for Employee, Address and Department screen our product create screen with proper navigation between these screens.
Other code generator tools have their own ways of binding so you need to learn them first how to create and bind screens in them.
Other tools are using some of their custom controls and not sharing the code of those custom control, so you can perform only limited function on that control which they provide through the wrapper, but in our case, you have all the code of our custom controls and can enhance/modify any of our custom control as per your need.
Our tool validate your models and ask if you to provide the fields either required or nullable if you miss by mistake and also if you give incomplete one to many or many to many relationship then it will detect and ask you to give proper navigation properties in the model.
Suppose we have Country, State and City model and in Country Model you give property ICollection<State> but in State Model you forgot to define the foreign key for Country Model, then our tool detects it and ask you to complete either the one-to-many or many-to-many relationship.
Scenario:
Lets consider a scenario where a client approached you for a "XYZ Management System".
Suppose your team took 4 days to create it's design and created around 50 Models.
Now with our tool CURD screens are ready to use in next few minutes, because our tool will create the screens with validator and link screens based on their relationships.
But with other tools you need to drag and drop screens for each model and provide validation on individual fields in every form. Also you need to manually bind the dropdowns and then use them in their appropriate screens, and link screens based on relationships. And at the end the code which you get is more error prone because developer can do some mistakes while binding the dropdowns and linking screens with each other based on their relationships. So with other tools, even when your Models are ready, your developers and testers still need some weeks just to deliver CURD screens only.
Now again your Model structure get changed, then again with our tool working screen will be ready in few minutes but with other tools developer again need to work on the validators, dropdowns and screen relationship code.
Summary
Can generates upto 80% of the code for your project, reducing development effort and saving time.
Allows your team to focus on implementing real business logic instead of repetitive CRUD operations.
Provides flexibility for customization, enabling your team to tailor the generated code to specific requirements.
Comments
Post a Comment