A highly versatile REST Datastore
Project description
README
Code Quality
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.
Quick start
git clone https://github.com/Netsach/concrete-datastore.git
cd concrete-datastore
docker run --name postgres-concrete-datastore -d -p 5432:5432 postgres
export DATAMODEL_FILE=./development/datamodel/sample-datamodel.yaml
python3 -m venv env
source env/bin/activate
pip install -e ".[full]"
concrete-datastore makemigrations
concrete-datastore migrate
concrete-datastore runserver
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
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Hashes for concrete_datastore-1.6.0-py3-none-any.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | d9b1fa5caf06d7e9bee2185571434a3d00287fb283b44e50e70b08e18459aae5 |
|
MD5 | 0ea5682e7fd38132e4afe6cb6da1f53e |
|
BLAKE2b-256 | 97e77541a1e008c98ed3890412921193c18795c196b3bf1d6c3da0b2a55fa708 |