You’ve just decided to use Wakanda or maybe you’ve done your research on how to start your application, either way, you keep hearing that you need to access and store your data on a Server.
So, how do you manipulate this data? That’s when Wakanda Server comes in handy and offers you a powerful way to describe data.

Indeed, the Wakanda Server provides a variety of services to manipulate datastore classes, entity collections, entities, and many other server-side constructs.

Before diving deeper into the Wakanda Server sphere, let’s define the 8 must know terms on Wakanda. We also made a reference for some terms to their equivalent in an RDBMS (Relational Database Management System).

1- Solution 

A Wakanda solution is a top-level item where you can add projects, each of which contains a single datastore model. A solution can contain any number of projects, all of which can be accessed at the same time.

2- Projects

Projects are basically folders that could, based on the scaffolding, be treated as backend projects or frontend (web or mobile) projects by the Wakanda Server.

We have basically 3 types of Projects: backend, mobile, and web.
Each project contains a variety of files. It contains web pages, JavaScript code, and also contains a Model.

These concepts can give you a lot of flexibility. You can add as many projects as you want under the same solution.

3- Datastore Model

Simply called Data Model or Model. It’s a complete set of all Data Classes for a single Wakanda project. It is roughly equivalent to the relational concept of a single database structure. A Data Model is the top-level term for a Wakanda application’s datastore and incorporates all the DataClasses for the project/application.

The model is the specification, the definition of all the data that makes up a project so in other words, if it was a relational database, it’s the database structure.

4- DataClass – Table

It is a description of a business entity or concept needed in your application. Think of it as similar to a table in a relational database but it has a lot more items than traditional table does. It’s composed of various data structures, class attributes, methods, and events.

5- DataClass Method

A DataClass method is a portion of JavaScript code, a function associated with the DataClass. So, it can be used in a variety of ways and we often refer to it as class methods.
There are three different scopes of DataClass methods: Class, Collection, and Entity.

6- Entity

Datastore Entity is similar to a record. It’s an instance of information in a DataClass. This is the equivalent of a Row for a Table. When using an Entity in the code it’s a javascript object. It’s often referred to as entities.

In traditional relational databases, a record is a logical unit of storage within a table that holds a value for each field in the table. In a SQL database, a row is one of the results of a query, which may not correspond directly to a record. Since a Wakanda datastore entity can represent any level of denormalization without its accompanying shortcomings, it fulfills both of these roles.

7-Entity Collection

An entity collection is a group of entity references of the same type that may or may not be sorted into a particular order. When using the code it’s very similar to a JavaScript array. It is equivalent to a row set which is a list of rows, each of which contains values in columns.
Normally, an entity reference only appears once in an entity collection. However, if an entity collection is sorted, it is possible that a single entity’s reference is a member of the entity collection more than once.

8- Entity Attribute

A field is the smallest storage cell in a relational database. It is sometimes referred to as a column. However, the term “column” is more often associated with the results of a query where it may or may not be the value of a field. In Wakanda, the collective term attribute is used to describe fields where information is stored as well as several other items that can return a value.
Attributes are named properties of DataClasses and come in a variety of kinds: Storage, Calculated, Relation, and Alias.