1. A method of accessing a schema-free database, comprising: constructing a model indicating a desired data structure for data stored in the schema-free database to be used by an application accessing the data, wherein the model is constructed using a desired data structure extracted from a program of the application independently of the data or data relationships stored in the schema-free database, wherein the desired data structure includes a plurality of data fields and the schema-free database includes data with data properties; validating the model to provide a validated model based on the desired structure and data stored in the schema-free database by determining whether the schema-free database contains data that satisfies the desired data structure and confirming that data fields in the desired data structure corresponds to data properties provided in the schema-free database; generating an application program interface (API) for the application using the validated model in response to determining that the schema-free database satisfies the desired structure; and accessing the schema-free database using the API, wherein the API enables access by the application to the data stored in the schema-free database according to the desired structure by presenting data from the schema-free database to the application using the API in a form according to the desired structure, enabling the application to access and manipulate data of the schema-free database based on an index, wherein the index contains entries for each indexed data and corresponding entry indicating a node in the schema-free database, and presenting a schema-based interface to the application to facilitate arranging the data stored in the schema-free database without the data being stored in any schema-based platform.