สถานะ:
กรอบงานการสร้างแอปแบบโมดูลาร์ (HMVC) - พร้อมด้วยส่วนหน้า, REST api และพื้นที่ผู้ดูแลระบบ 2 แห่ง (ผู้ดูแลระบบ / ปลอดภัย)
สร้างโมดูล "blox" เพื่อสร้างเว็บแอปพลิเคชันระดับองค์กร
ใช้ Codeigniter 3.x และ Bootstrap 4.xx
สามารถใช้เป็นตัวเริ่มต้นโครงการ/แผ่นหม้อไอน้ำแบบเริ่มต้นอย่างรวดเร็วได้
บ็อกซ์คืออะไร? "Blox" เป็นเพียงโมดูลหรือแอปเพล็ตที่เสียบได้ซึ่งมักใช้ในเว็บแอปพลิเคชัน Ignition Go มีตัวสร้างบนเว็บ (ดู BuildABlox) ตัวอย่างที่วางแผนไว้ "blox" คือการส่งอีเมลจำนวนมาก ผู้จัดการรายงาน และอื่นๆ อีกมากมาย!!!
เอกสารประกอบพร้อมใช้งานแล้ว: [เอกสาร Ignition-Go บน GitHub] (http://ci-blox.github.io/Ignition-Go/#/concepts/ACL) ลองดูที่เอกสารแนวคิดหลักและดู /docs โฟลเดอร์สำหรับข้อมูลเพิ่มเติม
PHP 7.3 คุณสามารถรันในระดับต่ำกว่า (5.6) ได้ แต่เวอร์ชันที่แนะนำสำหรับการใช้งานจริงคือ PHP 7.3 สำหรับโปรเจ็กต์ของคุณ ขณะนี้ PHP 7.3 ได้รับการสนับสนุนในโค้ดล่าสุด และสิ่งใดที่ต่ำกว่า PHP 7.3 จะไม่ได้รับการสนับสนุนอย่างเป็นทางการอีกต่อไป
Apache 2.4+ พร้อมเปิดใช้งาน mod การเขียนซ้ำ
MySQL 5.5+ หรือ MariaDb
****หมายเหตุ: ขณะนี้ใช้ Yarn สำหรับบรรจุภัณฑ์ (ดังนั้นจึงไม่จำเป็นต้องใช้ Bower / เป็นทางเลือก)
GIT โคลนพื้นที่เก็บข้อมูลนี้
ตัวอย่าง: git clone https://github.com/ci-blox/Ignition-Go.git myigoapp
ทั้ง:
2a) ใช้ Yarn และ Gulpjs (แนะนำเป็นอย่างยิ่งสำหรับผู้ที่ไม่ใช่ผู้เชี่ยวชาญ) - ไปที่ขั้นตอนที่ 3
-หรือ-
2b) แมปเว็บเซิร์ฟเวอร์ของคุณกับโฟลเดอร์ 'สาธารณะ' เพื่อใช้แพ็คเกจเวอร์ชันที่ติดตั้งไว้ล่วงหน้า
(ข้ามไปยังขั้นตอนที่ 8)
ติดตั้ง NPM node.js: ตัวจัดการแพ็คเกจสำหรับโมดูลโหนด และ [ติดตั้ง Yarn] (https://yarnpkg.com/lang/en/docs/install/)
เปลี่ยนไดเร็กทอรีเป็นรูทไซต์/เว็บแอปใหม่
ตัวอย่าง: cd myigoapp
ติดตั้งแพ็คเกจและส่วนประกอบทั้งหมด
ประเภท : yarn install
สร้างฐานข้อมูล mySql หรือ MariaDb ที่ว่างเปล่า (ชื่อ db เริ่มต้นคือ ci_blox) และผู้ใช้ (ค่าเริ่มต้นคือ root/ไม่มีรหัสผ่าน) โปรดทราบว่าไฟล์ Database.php ใน application/config มีการตั้งค่าการกำหนดค่าเหล่านี้
ตัวอย่าง: ใช้เครื่องมือเช่น HeidiSQL หรือ phpMyAdmin และสร้างทั้งฐานข้อมูลและผู้ใช้ที่มีสิทธิ์ใช้งานฐานข้อมูลใหม่
เรียกใช้ 'gulp' (โปรดทราบว่า gulp จะทำงานอย่างต่อเนื่องในโหมด 'watch' โดยคอยดูการเปลี่ยนแปลง css และ js)
แล้ว
ประเภทใดประเภทหนึ่ง: gulp
หรือ.. ประเภท: gulp serve หรือ.. ประเภท: gulp build ซึ่งเพิ่งสร้าง JS และ CSS ใหม่
(ไม่จำเป็น จำเป็นหากไม่มีอึกหรือใช้งานจริง) ใน Apache ให้แมปโฟลเดอร์ 'สาธารณะ' กับ localhost หรือ URL อื่น ๆ
ตัวอย่าง: ในไฟล์ httpd-vhosts.conf ของคุณ ให้เพิ่มส่วน <VirtualHost> ใหม่แล้วรีสตาร์ท Apache
ไปที่ http://[your-web-root-from-step-7]/install/init ในเบราว์เซอร์ของคุณเพื่อสิ้นสุดการใช้วิซาร์ดการติดตั้ง
เช่น ถ้าคุณใช้อึก ให้ไปที่ http://localhost:8080/install/init
หากคุณได้สร้างโฮสต์เสมือน igotestlocal.com ให้ไปที่ http://igotestlocal.com/install/init ในเบราว์เซอร์ของคุณ
Ignition Go เป็นจุดเริ่มต้นสำหรับการพัฒนาอย่างรวดเร็วของคุณ:
เว็บไซต์ที่มีหลายแง่มุม (เช่น เว็บไซต์ส่วนหน้า โมดูลผู้ใช้ที่ได้รับอนุญาตเท่านั้น แผงผู้ดูแลระบบ และ API) ในแอปพลิเคชันเดียว
การออกแบบโมดูลาร์โดยใช้ส่วนขยาย CodeIgniter HMVC
ไฟล์กำหนดค่าแบบกำหนดเอง (sites.php, locale.php) เพื่อการกำหนดค่าลักษณะการทำงานของเว็บไซต์ได้ง่าย
ส่วนหน้าที่มีหลายธีม (พร้อมธีม Bootswatch ฟรีมากกว่า 16 ธีม)
แผงผู้ดูแลระบบพร้อมธีม AdminLTE v3
รวมการใช้งานไลบรารีเสริมของบุคคลที่สามอื่นๆ มากมายผ่านทาง Composer, NPM หรือ Yarn
ไซต์ API เพื่อจัดการจุดสิ้นสุด RESTful
การตรวจสอบผู้ใช้ (ตัวเลือก) สำหรับพื้นที่ปลอดภัยในเว็บไซต์ส่วนหน้า (สมัคร, เข้าสู่ระบบ, ลืมรหัสผ่าน, et al)
การตรวจสอบผู้ใช้สำหรับแผงผู้ดูแลระบบ (เข้าสู่ระบบ, เปลี่ยนรหัสผ่าน, et al)
เค้าโครงและเทมเพลตที่กำหนดไว้ล่วงหน้า
ไปป์ไลน์สินทรัพย์ที่ตั้งไว้ล่วงหน้า (เช่น สคริปต์ย่อขนาด, การเพิ่มประสิทธิภาพรูปภาพ) ผ่านทาง Gulp (อ้างอิงจากสาขา gulp-starter 2.0)
Buildablox โมดูล blox/ตัวสร้างฟอร์มเพื่อสร้างมุมมองฟอร์ม blox และ CRUD ด้วยธีม Bootstrap การตรวจสอบความถูกต้องของฟอร์ม
การจัดการ Breadcrumb และการแบ่งหน้า
การสนับสนุนหลายภาษา
การตั้งค่าคอนฟิกอีเมล
ฟังก์ชันยูทิลิตี้ CLI (เช่น งาน cron การสำรองฐานข้อมูล)
ไคลเอนต์ Guzzle รวมเป็นไลบรารี (ใช้แทน Curl)
ใช้ Gulp Serve เพื่อดูการอัปเดตโค้ดทันที
โครงสร้างโฟลเดอร์ (แสดงโฟลเดอร์ส่วนใหญ่แต่ไม่ทั้งหมด) **=ยังไม่มีให้บริการ
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)มีการกำหนดค่าอึก ( gulpfile.js ) รวมอยู่ด้วย ใช้เครื่องมือแพ็คเกจและส่วนประกอบจากไซต์เหล่านี้:
NPM node.js: ตัวจัดการแพ็คเกจสำหรับโมดูลโหนด
เส้นด้าย: ผู้จัดการแพ็คเกจ
GulpJS gulp: ตัวดำเนินการงานเพื่อคอมไพล์ รวม และย่อขนาด
Guzzle guzzle: ผสานรวมเพื่อใช้เป็นไคลเอนต์ REST หรือสำหรับการดัดผมที่ซับซ้อน
กรุณาติดต่อเราเพื่อมีส่วนร่วม
ขอขอบคุณเป็นพิเศษสำหรับโครงการ Bonfire และผู้ที่มีส่วนร่วมในโครงการนี้ คุณสมบัติและแนวคิดด้านโครงสร้างพื้นฐานมากมายได้รับแรงบันดาลใจหรือรวมเข้าด้วยกันทันทีจากโครงการนั้น นอกจากนี้ ขอขอบคุณโปรเจ็กต์ทั้งหมดเช่น GuzzlePHP และโปรเจ็กต์อื่นๆ อีกนับไม่ถ้วนที่เป็นโอเพ่นซอร์ส ซึ่งมีส่วนประกอบต่างๆ รวมอยู่ในนั้นและทำให้เกิดความคิดริเริ่มนี้ขึ้นมา สุดท้ายนี้ ขอขอบคุณเป็นพิเศษต่อทีมงาน CodeIgniter ซึ่ง CodeIgniter ยังคงเติบโตอย่างต่อเนื่อง!