Concepts
The concept for the bqStart template that we have developed is to help developers start from the template and quickly set up the database and start working on the views and forms.
Basic things like the UI framework and layout, menu systems, security, log-in and user management are all taken care of by the framework. The template also allows many customization options in terms of layouts, UI, and backend API.
What we have seen as a developer ourselves is that we tend to do the same repetitive tasks while starting a project. So we wanted to create a template where all these mundane basic tasks will be taken care of and allow developers to focus on application logic.
The template is divided into a backend project (asp.net core) and a frontend project. The backend project is very straightforward like any other web API project.

The frontend project provides some basic functionality like application layout and menus and dynamic routing for views. So upon creating the project from the template to work on the application the flow of tasks will be as follows:
Create database tables and migrate them as required.
Create security rules for the entities that you want to expose via API.
Create an OData controller and inherit from a generic base class to write as little code as possible.
In the front end, configure the views and menu.
Create the list and form components and use framework components to quickly display the data.
During runtime, the OData controller will send extra metadata to the front about the entity, its properties, basic validations like type and string length etc. and use it in the form to show it accordingly.
If any view is complex or needs a different kind of implementation the developer is free to apply his current Angular knowledge to create a component as he would currently and display it on the view. There are a ton of custom options available to extend the base functionality as well.
Last updated