Giter VIP home page Giter VIP logo

concrete-datastore's Introduction

README

Code Quality

GitHub Workflow Status GitHub Workflow Status GitHub Workflow Status GitHub Workflow Status Codecov Code Style Python Python 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.

Quick start

Term sheet sample

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

concrete-datastore's People

Contributors

khaledbousrih avatar lcognat avatar paschembri avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.