Main Concepts

Conceptually the application development happens in three basic steps:

  1. developer models application domain by creating data types that correspond to domain objects and properties. It may sound complex but basically it is about the following. If one makes the application for insurance companies, one have to create data types like 'Insurance policy', 'Quota', 'Sales target', 'Billing customer', etc. If one makes an application for hotels management, one creates data types like "Room", "Booking", "Guest", "Extra service" etc. For a video streaming service the data types could be "Media", "Duration", "License" and so on.

  2. he/she creates a user interface for defined data types using Form editor and adds application logic in CJ Blocks โ€“ a built-in visual language similar to Scratch and Blockly. This step is optional โ€“ if there is no custom UI or business logic, Builder will generate them 100% automatically.

  3. application is built and deployed. At this phase Builder generates code in Java and JavaScript script as well as HTML based user interface. Server side CJ Blocks are translated to Java 8 and client-side CJ Blocks to JavaScript (ES6). Builder compiles the resulting code and generates a standalone executable in Java war file format which gets deployed to one of application containers on Codejig cloud or gets downloaded by developer for deployment on own or third-party server(s).  

Customization of Codejig ERP happens in the same way except that ERP administrator starts with already existing data types and business logic and modifies them to match the unique business needs of his/her company. In fact, technically Codejig ERP is just a large web application. All documentation related to generic web development with Codejig Builder applies also for administration / customization / development of Codejig ERP. Everything that refers to "developer" or "application developer" is true also for ERP administrator. However, there are some Builder capabilities which are available only in Codejig ERP and not available for developers of generic web applications โ€“ they will be marked with corresponding notice. These features are peculiar for development of financial applications and are of no particular interest for a general developer audience.