สถานะ:
กรอบงานการสร้างแอปแบบโมดูลาร์ (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 ยังคงเติบโตอย่างต่อเนื่อง!