Key Concepts

SUDS Express is a CRUD (Create, Read, Update, Delete) system for a relational database. It is written in JavaScript  and runs under Node.js

The design adheres to MVC principles (Model-View-Controller).  This creates layers of software with 

  1. The database structure (the Model). 
  2. The end-user's View of that data, controlled by the view engine (defaults to EJS).
  3. The processing of the data (The controller).  This is bulk of the SUDSjs software.

Each of these components is controlled by configuration files. So rather than write software to maintain the database, the user develops configuration files which is a much quicker process and less likely to result in errors.  The system comes with a program to check the configuration files for consistency and a program to report on the application.

The database structure is controlled by links between records which create parent/child repationships such as the items in a shopping cart. The shopping cart is the parent and the items are children. Similarly the shopping cart would be a child of the customer.  You can esily navidate this structure in SUDS-Express with links upwards and downwards, and the ability to add child data to a parent record.  You can even merge data from different types of child record into one activity log.

Database access is entralised in a database driver.   The software includes a generic driver that uses the Knex.js software.

There is a very flexible permission system which controls access to tables, groups of data items and individual data items. 

Although no coding is needed for most requirements, there are points in the processing cycle where you can add small fragments of code. For example a function might merge first and second names to give a full name for reports, or total the value of order lines in a sales order.

The system comes with a set of test data for evaluation and testiong purposes.

Next: Configuration