Code Generation

May 16, 2013 at 1:44 PM
Lets discuss a very important module - Code Generation.

AppGauge is going to be a pure RAD tool. To provide a secure and thoroughly tested approach, we divide the code generation module into 2 milestones -

Milestone 1:
  1. Code generator for BAL, DAL
  2. Code generator for Forms (PAL)
Description -
A developer using AppGauge will design a table and fetch DB connection into the module. The Module will provide the Dev to select which tables to generate the code for. The Module will check if the files with same name already exists on the destination or not, and may optionally provide facilities to selectively generate BAL or DAL code.

Milestone 2:
  1. A complete RAD tool to visualize and design classes.
    Milestone 1 module will serve as a prototype for this mIlestone 2.
    A RAD module will be there where Devs can add classes, add individual properties and their visibility. They will be able to relate a class to another(parent,child, etc).
    When they click generate, the module will first generate all database and/or table according to the class diagrams and then use the module from Milestone 1 to generate BAL,DAL,PAL.
    An improvement could be:
  2. Code generator will be relying on RAD module rather than the database.
  3. RAD module can import and export Class diagrams.
Feel free to ask any kind of questions regarding this. Feedback and criticism(constructive) is welcomed.

What is BAL, DAL?
If you are unaware of what BAL, DAL is, please see the Development Guide thread.
BAL is Business Abstraction Layer - contains business decisions such as validations etc., DAL is Data Abstraction Layer - contains Database related all details and table information.