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=./docs/assets/sample-datamodel.yml
python3 -m venv env
source env/bin/activate
pip install -e ".[full]"
concrete-datastore makemigrations
concrete-datastore migrate
concrete-datastore createsuperuser
concrete-datastore runserver
Now browse to http://127.0.0.1:8000/concrete-datastore-admin/
You can now create a token to use the API (or use the login endpoint).
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
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file concrete-datastore-1.7.0.tar.gz.
File metadata
- Download URL: concrete-datastore-1.7.0.tar.gz
- Upload date:
- Size: 166.9 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/3.1.1 pkginfo/1.5.0.1 requests/2.23.0 setuptools/46.1.3 requests-toolbelt/0.9.1 tqdm/4.44.1 CPython/3.6.2
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
eb8bbae361a0418b3604e672d873616bfe5ffcbf6c43305273adbe648a74779b
|
|
| MD5 |
c123702e397af0356052776c1e518d57
|
|
| BLAKE2b-256 |
829e8250e1ab237481afccd711f67c93cb555f9e018688283b831ab312c70aa4
|
File details
Details for the file concrete_datastore-1.7.0-py3-none-any.whl.
File metadata
- Download URL: concrete_datastore-1.7.0-py3-none-any.whl
- Upload date:
- Size: 118.2 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/3.1.1 pkginfo/1.5.0.1 requests/2.23.0 setuptools/46.1.3 requests-toolbelt/0.9.1 tqdm/4.44.1 CPython/3.6.2
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
99b022d74ae4625239e9bce782835b81ff4e40ac59c589bf924457b0ab1978c2
|
|
| MD5 |
03dc744d2b6e83b3776732234cfd4880
|
|
| BLAKE2b-256 |
e0274fe07c9ccf80364c460ba31b09af43dce1df24ff6f3465c2653d435a8379
|