Learning Center

Learning Center

Learn Menu

Introduction

Genesis is a markup language used to represent data models. Every data model you create with the OneGen app is actually just a Genesis file. This language is designed to be extremely readable and flexible, so any software engineer can learn it in no time.

Let's take a look at a simple User model representation in Genesis code. It probably looks somewhat familiar to another programming language you already know.

class User {
    var id: int
    var firstName: string
    var lastName: string?
    var created: date
}

That doesn't look too scary right? Just a class definition wrapping a bunch of properties with standard data types. Make sure to read through this section to get proficient in Genesis.

Why?

Our top of the list reason is collaboration. If you've worked with Git or another version control system, you know there will be conflicts when people collaborate. More specifically, when you edit a file, commit, and meanwhile, your coworker edited and committed the same file. In such a case, there would be two versions of the file and whoever got their changes in last would have to decide how to solve it.

Our conflict resolution process is designed to be familiar and straightforward for software engineers. You'll basically see the conflicted files represented in Genesis code open in an editor where you just edit the files.

While using OneGen UI is great to design and maintain your models, we feel it would be too difficult for this type of problem.

Do I have to learn Genesis?

If you're just getting started with OneGen or working on a project alone, you don't need to know Genesis exists under the hood. Even if you're working on models in a small team, the odds of running into a version conflict are pretty low.

OneGen tries to minimize your project being out of date, so you'll see an update button appear in the action bar every time we detect your project is behind. This makes it easier to keep your project in sync and avoid running into conflicts.

Validation

We use cookies to track activity using Google Analytics & reCAPTCHA. It helps us understand what our visitors like about our product and how they interact with our website. For more information, check out our Privacy Policy.