/concrete-datastore

A Highly Versatile REST Datastore

Primary LanguagePythonGNU General Public License v3.0GPL-3.0

README

Code Quality

GitHub Workflow Status GitHub Workflow Status GitHub Workflow Status GitHub Workflow Status Codecov Code Style Python

Description

concrete-datastore is a highly versatile HTTP REST Datastore based on the web framework Django.

It is used mainly as a HTTP database server for single page web application (SPA).

As opposed to a classic database server such as PostgreSQL or MySQL where queries are performed using SQL language, each operation is performed using plain HTTP requests. concrete-datastore abstracts the database layer.

concrete-datastore can be seen as a NoSQL server or as a Firebase alternative.

Features

concrete-datastore comes with a lot of built-in features such as:

  • User and permission management
  • Automatically generated backoffice for administrators
  • Fully REST API using JSON as serialization format
  • Simple statistics generation
  • Email sending capabilities from the API
  • ...

How does it work ?

In order to describe the database schema, the developer has to write a datamodel file in YAML or JSON. This datamodel file allows concrete-datastore to manage the underlying database using PostgreSQL.

Each API requests is controlled by this datamodel file as it acts as a specification of what is in the database and what should be allowed per user.

Official documentation

See the official documentation