Creating the Application Data Architecture

Nimbus provides easy ways to manage and develop the application's data architecture. Since Nimbus is designed to schema driven, we provide the developers with simple to use schema system for defining the the default schemas of the application. We recommend the user not think about the implementation needs (as in tables to store user transactions while traversing different pages to remember the actions of the user).

Step 1: Modeling you application needs

Nimbus pre-defines users, organizations, teams and projects to simplify the integration of permission systems and lifecycle management of the users. As an application developer, you first and foremost job will require you to model the use case, identifying the different data items and the corresponding columns

Example: If you are developing a project management tool, you might define data items such as Task, Milestone, Comment, and Attachment, each with their relevant columns like Task Name, Due Date, Description, Status, etc.

Step 2: Defining Schemas

Once you've identified the data items, you need to define the schemas for these items using Atlas DDL. A schema is a blueprint of how your data will be structured. Schemas help in maintaining data integrity and consistency.

// application.hcl

schema "appliation" {
    comment = "This is the schema overriden by the user to describe the application logic"
}

table "task"{
    
    column "field1" {
        type=boolean
        null=false
    }

    ...
}

...

We chose Atlas DDL as our choice of definition language since it allows us to "compile" the data requirements without worrying about the order of table creation and dependencies. Please refer here for more information on using Atlas DDL to define the schemas:

Step 3: Integration Schema with the Applications

After defining the schemas, you need to integrate them into your application. Nimbus provides tools and libraries to easily map these schemas to your application's logic. This step involves setting up data models, integrating with your backend, and ensuring your frontend forms and views align with the defined schemas.

Step 4: Analyzing Data Lifecyle

Coming Soon...

Step 5: Setting up Permissions and Access Control

Coming Soon...

Step 6: Testing and Validation

Coming Soon ...

Last updated