当前位置: 首页 > 软件库 > 数据库相关 > >

Ignition-Go

授权协议 View license
开发语言 PHP
所属分类 数据库相关
软件类型 开源软件
地区 不详
投 递 者 督德明
操作系统 跨平台
开源组织
适用人群 未知
 软件概览

Ignition Go |

 Status:

A Modular (HMVC) App Building Framework - complete with front end, REST api, and 2 admin areas (Admin / Secure)

  • create "blox" modules to build enterprise class web applications
  • uses Codeigniter 3.x and Bootstrap 4.x.x
  • can be used as a quickstart project starter/boilerplate
  • What are blox? "Blox" are just pluggable modules or applets that are commonly used in web applications. Ignition Go includes a web-based generator (see BuildABlox). Planned example "blox" would be a bulk emailer, report manager, and many more!!!

Documentation

Documentation is now available: [Ignition-Go Documentation on GitHub] (http://ci-blox.github.io/Ignition-Go/#/concepts/ACL)Take a look at the key concepts documents and also see the /docs folder for more.

Server Requirements (Preferred)

  • PHP 7.3 you can run in lower (5.6) but the recommended version for production to use is PHP 7.3 for your projects. PHP 7.3 is now supported in the latest code and anything below PHP 7.3 is no longer officially supported.
  • Apache 2.4+ with rewrite mod enabled
  • MySQL 5.5+ or MariaDb

Installing

****NOTE: now using Yarn for packages (so Bower is not needed / optional).

  1. GIT clone this repository

Example: git clone https://github.com/ci-blox/Ignition-Go.git myigoapp

  1. Either:
    2a) use Yarn and Gulpjs (highly recommended for non-experts) - go to step 3
    -or-
    2b) map your webserver to the 'public' folder to use pre-installed versions of packages
    (skip to step 8)

  2. Install NPM node.js: package manager for node modules, and [install Yarn] (https://yarnpkg.com/lang/en/docs/install/)

  3. Change directory to new site/web app root
    Example: cd myigoapp

  4. Install all the packages and components
    Type: yarn install

  5. Create an empty mySql or MariaDb database (default db name is ci_blox) and a user (default is root/no password). Note that the database.php file in application/config contains these configuration settings.

Example: use a tool like HeidiSQL or phpMyAdmin and create both a database and a user with privileges that new database

  1. Run 'gulp' (note that gulp will run continuously in 'watch' mode, watching for css and js changes).
    then
    EITHER type: gulp
    OR.. type: gulp serveOR.. type: gulp build which just rebuilds the JS and CSS

  2. (Optional, required if no gulp or in production) In Apache, map the 'public' folder to localhost or other url

Example: in your httpd-vhosts.conf file, add new <VirtualHost> section and restart Apache

  1. Go to http://[your-web-root-from-step-7]/install/init in your browser to finish using install wizard

eg if you used gulp, goto http://localhost:8080/install/init
if you had created virtual host igotestlocal.com, then go to http://igotestlocal.com/install/init in your browser

Features

Ignition Go is a jumpstart for your rapid development:

  • Multi-faceted (e.g. Frontend Website, Authorized User Only modules, Admin Panel, and API) website in a single application
  • Modular design using CodeIgniter HMVC extension
  • Custom config files (sites.php, locale.php) for easy configuration of website behavior
  • Frontend with multiple themes (with over 16 free Bootswatch themes)
  • Admin Panel with AdminLTE v3 theme
  • Includes usage of many other 3rd party optional libraries via Composer, NPM or Yarn
  • API Site to handle RESTful endpoints
  • User authentication (optional) for secure area in Frontend Website (Sign Up, Login, Forgot Password, et al)
  • User authentication for Admin Panel (Login, Change Password, et al)
  • Preset layouts and templates
  • Preset asset pipeline (e.g. minify scripts, image optimization) via Gulp (reference from gulp-starter 2.0 branch)
  • Buildablox blox module/form builder to generate blox and CRUD form views with Bootstrap theme, form validation
  • Breadcrumb and Pagination handling
  • Multilingual support
  • Email config setup
  • CLI utility functions (e.g. cron job, database backup)
  • Guzzle client integrated as library (use instead of Curl)
  • Use gulp serve to instantly see updates to code

Folder Structure

Folder structure (most but not all folders shown). **=not available yet

application/                    --- Main application (CodeIgniter) source folder
    config/                     --- Config files
        production/             --- Override Configuration when ENVIRONMENT is set as "production"
    controllers/                --- Controllers for Frontend Website; extends from MX_Controller, Base_Controller or Front_Controller
        Cli.php                 --- Utility function that can only be called from command line
        Home.php                --- Default controller for Frontend Website        
    core/                       --- Extending CodeIgniter core classes; can also be used within modules (MY_????.php); Also extendable controllers here
    helpers/                    --- Contains custom helper functions being used throughout this repo
    language/                   --- Preset language files
    lib/                        --- Custom libraries (e.g. Data Importer)
    models/                     --- Sample model extending from MY_Model
    toolblox/ **                --- Each blox module can be installed or removed
    modules/                    --- Each module can be accessed by http://{base_url}/{module_name}/{module_controller}/, etc.
        admin/                  --- Module for Admin Panel
            config/             --- Configuration for Admin Panel (overriding application/config/)
            controllers/        --- Controllers for Admin Panel; also extends from MY_Controller
            helpers/            --- Helper classes, e.g. to generate AdminLTE widgets
            lib/                --- Libraries admin 
            models/             --- Models only being used in Admin panel
            views/              --- Views for Admin Panel; can reuse Frontend views, or override by using same path/filename
        api/                    --- A module specific for REST API endpoints
        buildablox/             --- A module to generate and add/remove blox
        logs/                   --- A module for viewing the daily logs
        securinator/            --- A module for roles, permissions, security settings
        translate/              --- A module to edit  (and auto-generate**) translations
    third_party/
        MX/                     --- Required for HMVC extension
    views/                      --- Views for Frontend Website
public/                         --- SITE ROOT (point Apache here)
public/assets/
    css/                        --- Custom CSS files append to each site
    dist/                       --- Minified scripts, stylesheets (and optionally) optimized images via Gulp tasks
    fonts/                      --- Font files copied via Gulp tasks
    img/                        --- Source image files before optimization
    js/                         --- Custom CSS files append to each site
    uploads/                    --- Default directory of upload files, where permission should set as writable
gulpfile.js/                    --- Task runner following gulp-starter 2.0 practice
sql/                            --- MySQL files
igocore/                         --- Ignition Go core files
igocore/system/                         --- CodeIgniter core files (clean CI3 installation with modifications only to reference IGO core)

Asset Customization (e.g. additional js/css files)

A gulp configuration (gulpfile.js) is included. It utilizes package and component tools from these sites:

  • NPM node.js: package manager for node modules
  • Yarn: package manager
  • GulpJS gulp: task runner to compile, combine, and minify
  • Guzzle guzzle: integrated for use as a REST client or for complex curl operations

Help wanted please: contact us to help enhance this amazing web app builder!

Please contact us to contribute.

Acknowledgements

Special thanks to the Bonfire project and those who contributed to it - many features and infrastructure concepts were inspired or incorporated outright from that project. Also thanks to all the projects like GuzzlePHP and countless others that are open source, whose components are incorporated and allow this initiative to exist. Finally, thanks especially to the CodeIgniter team, with whom CodeIgniter continues to thrive!

  •   Go开发报错 -- Golang strings.Builder type undefined   在Go开发中,Go语言版本 go 1.10 以下版本,使用strings.Builder报错 I was having a problem with the strings.Builder type in GO. Attempted to run the example code verbati

  • Go语言中可以使用反引号或者双引号来定义字符串。 双引号:字符串使用双引号括起来,其中相关的转义字符将被替换。 反引号:字符串使用反引号括起来,其中相关的转义字符不会被替换。 创建字符串字面量,程序清单如下: package main import( "fmt" ) func main(){ s:="I am an interpreted string literal" fmt.P

  • //########################################################### //D:\go\go\go库源码\源码库测试文件集合\strings-example_test.go // Copyright 2012 The Go Authors. All rights reserved. // Use of this source code is g

  • go语言支持原生字符串类型和c语言比较优点 go支持原生字符串类型 go支持原生字符串类型, go string 类型的数据是不可变的,提高了字符串的并发安全性和存储利用率,我们不能修改字符串的某一部分值,可以进行二次赋值操作 var s string = "hello" s[0] = 'k' // 错误:字符串的内容是不可改变的 s = "gopher" // ok 类型的数据是不可变的这

  • string操作在编程中具有极高的频率,那么string中有哪些有用的方法呢? 使用strings直接操作 Compare func Compare(a, b string) int 按照字典序比较两个字符串,通常情况下直接使用=,>,<会更快一些。 Contains,ContainsAny 和 ContainsRune func Contains(s, substr string) bool f

  • 1 WebAssembly简介 WebAssembly(简称Wasm)是一种可移植、高性能的二进制代码格式,可以在现代Web浏览器中运行。Wasm是一种开放的标准,由WebAssembly组织推广和维护。它旨在通过在浏览器中提供一种比JavaScript更高效和更快的运行时环境,来改进Web应用程序的性能和功能。 Wasm的设计目标是在Web浏览器中提供与本机代码相同的性能和安全性,并且它可以使用

  • github地址 帮助一些从PHP、Python等语言转Golang的web开发者,快速熟悉Go的一些特性,快速搭建自己的web应用。 特性 数据库连接池:支持MySQL、PsSQL、Redis等 将请求参数和校验规则封装成实体(entity) 引入getter,使客户端可以按需获取数据 封装好的、易于使用的参数校验 支持YAML配置文件 环境要求 go1.11或更高版本 示例 示例 灵感来源 g

  • 故人西辞黄鹤去,此地空余黄鹤楼 不知道一千多年前诗仙李白在创作这首诗词的内心是怎样的,如果真的有时空穿梭机这种神奇的东西,倒是可以拿来穿越一下。只可惜昔人已逝、物是人非,诗仙早已经消失在历史的年轮中,唯黄鹤楼历经千年,依然矗立于长江之巅。初尝不知诗中意,再读已是诗中人。在这一站的路程中,短短不到一载的时光,左右两边刚刚熟络的大佬由于团队中各种各样的原因,先后选择了离开,或许在不远的未来,自己也许会

  • ubuntu20.04 64位下面交叉编译go文件报错 前提: 有linux gcc交叉编译包 安装了32位反编译环境 已解压交叉编译包到usr目录 如下: /home/k/usr/bin/…/libexec/gcc/arm-nuvoton-linux-gnueabi/4.8.5/cc1: error while loading shared libraries: libmpc.so.3: can

 相关资料
  • ignition 通过提供即用组件和包含许多样板文件的实用类,可以让你的 Android 应用快速起步。ignition 涵盖的区域包括: Widget、Adapter、Dialog 等 UI 组件; 允许编写简单却强大的网络代码的 HTTP Wrapper 库; 加载远程 Web 图像并进行缓存的类; 简单但有效的缓存框架(将对所有对象树做出响应的HTTP缓存到内存或硬盘中); Intents、

  • 问题内容: 拖放文件上传可以在Firefox 3.6中完成。 通过Google搜索 html5拖放文件上传- gmail,可以看到以下 内容: http://www.appelsiini.net/2009/10/html5-drag-and-drop-multiple-file-upload http://www.thecssninja.com/javascript/drag-and-drop-u

  • 问题内容: 我有一个使用Google Maps API来显示地图的页面。当我直接加载页面时,地图出现。但是,当我尝试使用AJAX加载页面时,出现错误: 为什么是这样? 这是带有地图的页面: 这是带有AJAX调用的页面: 谢谢你的帮助。 问题答案: 默认情况下,文档完成加载后无法加载该API,您需要异步加载该API。 用地图修改页面:

  • 问题内容: 这是Google BigQuery中多级数据透视表的后续问题,我想知道是否可以使用单个查询在GoogleBigQuery中构造嵌套数据透视表。是的,因此在这个后续问题中,我想探讨一下一般情况。 这是我正在使用的数据的示例(此共享Google表格中也包含该数据) 现在,我想构建一个具有以下属性的数据透视表: 行级和列级的嵌套级(上一个问题只有嵌套级) 行和列中的小计(前一个只有总计) 多

  • 问题内容: 如何通过App Engine的URLFetch服务(在Java中)指定用于发出基本身份验证请求的用户名和密码? 看来我可以设置HTTP标头: Basic-Auth的适当标题是什么? 问题答案: 这是HTTP上的基本身份验证标头: 授权:基本的base64编码(用户名:password) 例如: 您将需要执行以下操作: 为此,您将需要一个base64编解码器api,例如Apache Co

  • 问题内容: 我正在使用Java和XStream通过http解析Google地理编码请求。我的想法是拥有一个具有所有地理编码属性(例如纬度/经度,城市,省/州等)的Address类,但是我在使用xstream解析xml时遇到了问题。 Google的回应与此类似: 不能很好地显示出来,但是代码的内容在AddressDetails标记中。 无论如何,我是Java和XStream的新手,所以API术语对我