Giter VIP home page Giter VIP logo

BEdita, a back-end API

Build Status Publish plugins Code Coverage Scrutinizer Code Quality

BEdita 5 is a ready to use back-end API to handle the data of your mobile, IoT, web and desktop applications. It's also an extensible framework to build your custom back-end API via plugins.

It provides a complete content management solution with:

  • a headless HTTP server application with a complete REST API to model, create, modify and retrieve data
  • a default admin web application BEdita Manager

BEdita 5 is built with CakePHP 4 and uses relational DBMS like MySQL, Postgres or SQLite in conjunction with (optional) NoSQL systems like Redis, Elastic Search or time series databases to boost performance and scale up to Big Data scenarios.

JSON-API is the primary exchange data format.

GrapQL initial support available via dedicated plugin.

The easiest and quickest way to try out BEdita4 is via Docker, read instructions below.

Prerequisites

  • PHP 7.4, 8.0, 8.1, 8.2 or 8.3 with extensions: json, mbstring, fileinfo, intl, pdo, simplexml
  • MySQL 8.0 (recommended) or MySQL 5.7, Postgres 11/12/13/14, MariaDB 10.2/10.3/10.4 or SQLite 3
  • Composer

Install

For a detailed setup overview see Setup Documentation

Quick setup in three steps.

  1. Create project via composer
 composer create-project bedita/bedita

If you are using a .zip or .tar.gz release file you just need to unpack it and then run composer install.

  1. Create an empty database either MySQL or PostgresSQL. Do nothing for SQLite.

  2. Change to the newly created folder and run this script to initialize the database and create first admin user:

 bin/cake bedita setup

See Web Server setup to configure a virtualhost in your webserver. To see first /home endpoint response you may point to http://your-vhost/home

Curl example:

 curl -H Accept:application/json http://your-vhost/home

Otherwise, only for development or test setups, you can take advantage of PHP builtin server with this simple command:

 bin/cake server

and see /home endpoint response pointing to http://localhost:8765/home like this:

 curl -H Accept:application/json http://localhost:8765/home

For an explanation on Accept headers usage read here.

Docker

See Docker setup documentation for a more detailed overview.

Pull official image

Get latest offical image build from Docker Hub

 docker pull bedita/bedita:latest

You may also use :5-salix tag instead of :latest, they are currently synonyms.

Build image

If you want to build an image from local sources you can do it like this from BEdita root folder:

 docker build -t bedita5-local .

You may of course choose whatever name you like for the generated image instead of bedita5-local.

Run

Run a Docker image setting an initial API KEY and admin username and password, like this:

 docker run -p 8090:80 --env BEDITA_API_KEY=1029384756 \
    --env BEDITA_ADMIN_USR=admin --env BEDITA_ADMIN_PWD=admin \
    bedita/bedita:latest

This will launch a BEdita4 instance using SQLite as its storage backend. It should become available at http://localhost:8090/home almost instantly.

Replace bedita/bedita:latest with bedita5-local (or other chosen name) to lanch a local built image.

Documentation

Developer documentation can be found here

Licensing

BEdita is released under LGPL, Lesser General Public License v3.

BEdita's Projects

api icon api

[READ-ONLY] BEdita/API plugin repository - derived from main repo https://github.com/bedita/bedita

app icon app

BEdita4 webapp template

aws icon aws

Custom transports and adapters to use AWS services with BEdita.

beapi.js icon beapi.js

Manage BEdita API calls on your javascript client

bedita icon bedita

BEdita, ready to use back-end API, extensible API-first Content Management

boilerplate icon boilerplate

html5 boilerplate template frontend from http://initializr.com

books icon books

Books plugin module for BEdita

bootstrap icon bootstrap

Bootstrap frontend from http://getbootstrap.com

core icon core

[READ-ONLY] BEdita/Core plugin repository - derived from main repo https://github.com/bedita/bedita

i18n icon i18n

A i18n cakephp plugin for BEdita 4 web apps

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.