objectivecosta / CMS_Eagle

The best way to simplify the admin's panel for your simple site. The main objective is to obtain a simple, fast and flexible alternative to get up a CMS Admin in minutes.

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Eagle CMS 🦅

The best way to simplify the admin's panel for your simple site.

This project is prepared for docker containers, all the Dockerfiles and docker-compose.yml file are configured.

This project uses PHP 5.6 and MySQL > 5.6 ~ 7

The objectives:

  • The main objective is to obtain a simple, fast and flexible alternative to get up a CMS Admin in minutes.
  • lightweight (So lite if compared with others CMS, like Wordpress)
  • So simple setup, just configure the appsettings.json and the models.json (on src folder)

The features

  • Protect the CMS with login (You can create new users, groups and manage the permissions of each one)
  • Auto generate CRUD's
  • Auto generate beautiful and responsive Admin Pannel using Bootstrap and Lite Admin Theme.

Stack - LAMP:

  • PHP
  • MySQL
  • AdminLTE Free Theme + Bootstrap
  • Docker

Alerts:

  • The main difference from others CMS is: this project is destinated to the admin pannel (and only the admin pannel). I suggest to run your site that will consume the database generated by this admin panel in a separeted app and containner, using PHP 7~8, redbean ORM and Twig Front Engine.

  • This project is destinated to small sites, and the admin just generate CRUD's pannels and user policy to manage that contents.

Models definition

Example:

{
    "BlogAutor": {
        "options": {
            "title": "Autor",
            "title_plural": "Autores"
        },
        "properties": {
            "id": null,
            "nome": { "type": "varchar", "list": true },
            "introducao": "textarea",
            "link": null,
            "imagem": { "type": "image", "list": true },
            "thumb": { "type": "image", "list": true }
        }
    },

    "Texto": {
        "id": null,

        "cod_blog_autor": {
            "type": "foreign",
            "foreign": {
                "model": "BlogAutor",
                "label": "nome",
                "key": "id"
            }
        },

        "data_postagem": { "type": "date" },
        "introducao": { "type": "text" },
        "texto": { "type": "editor" },
        "imagem": { "type": "image" }
    }
}

Properties types:

Varchar:

  • varchar
  • email
  • url
  • phone
  • link
  • color
  • file
  • image
  • enum

Decimals

  • decimal
  • price

Integers

  • num
  • number
  • int

Dates:

  • date
  • data

Texts:

  • textarea
  • textarea-m

Editor WYSIW

  • editor

Boolean / Checkbox:

  • checkbox

If don't pass a type parameter the field will be a varchar field


☺️
by: Wilson Neto
Linkedin Blog Github

About

The best way to simplify the admin's panel for your simple site. The main objective is to obtain a simple, fast and flexible alternative to get up a CMS Admin in minutes.


Languages

Language:JavaScript 48.5%Language:CSS 21.6%Language:PHP 19.3%Language:HTML 9.9%Language:Hack 0.3%Language:TSQL 0.3%Language:Dockerfile 0.0%