แอปพลิเคชันที่พัฒนาด้วยเทคโนโลยีดังต่อไปนี้:
โครงการประกอบด้วย 2 โมดูล:
โมดูลประกอบด้วยสองหน้า HTML สถาปัตยกรรม MVC ตั้งอยู่ใน ./modules/Application
เทคโนโลยี
HTML5. CSS, PHP, jQuery, D3.js
โครงสร้างพื้นฐาน
อินเทอร์เฟซระบบ
อินเทอร์เฟซกับโมดูล Api ซึ่งใช้บริการเว็บที่เปิดเผยผ่านชุดปลายทางที่ส่งคืน JSON ซึ่งสร้างกราฟิกรายงานแบบไดนามิก
เลเยอร์บริการเว็บ RESTful ตั้งอยู่ใน ./modules/Api
เทคโนโลยี
PHP, MySQL, หลักคำสอน
ประกอบด้วยชุดจุดสิ้นสุดที่ได้รับการปรึกษาจากหน้าผลลัพธ์ ซึ่งให้ข้อมูลสำหรับกราฟบนหน้าผลลัพธ์
ปลายทางที่เปิดเผย
$ git clone [email protected]:diegoangel/informe-gei.git
$ cd informe-gei
$ git checkout zf3-version
$ composer install
เปลี่ยนข้อมูลรับรองการเชื่อมต่อหากมีและรัน:
mysql -u root -proot -e " CREATE SCHEMA informe_gei "
ข้อมูลการกำหนดค่าการเชื่อมต่อจะต้องอยู่ในไฟล์ config/autoload/local.php
. . .
return [
' doctrine ' => [
' connection ' => [
' orm_default ' => [
' driverClass ' => PDOMySqlDriver::class,
' params ' => [
' host ' => ' 127.0.0.1 ' ,
' user ' => ' root ' ,
' password ' => ' root ' ,
' dbname ' => ' informe_gei ' ,
' charset ' => ' utf8 ' ,
]
],
],
],
];
ไฟล์นี้จะไม่มีอยู่ ดังนั้นคุณต้องสร้างมันขึ้นมาโดยการคัดลอก วาง และเปลี่ยนชื่อไฟล์ config/autoload/local.php.dist
cp config/autoload/local.php.dist config/autoload/local.php
นอกจากนี้ ไฟล์นี้จะถูกละเว้นในที่เก็บการควบคุมเวอร์ชัน ดังนั้นข้อมูลรับรองการเชื่อมต่อจะไม่ถูกแชร์โดยไม่ได้ตั้งใจและยังคงปลอดภัย
ฟังก์ชันการทำงานของโครงการ Doctrine Migrations ใช้เพื่อจัดการการเปลี่ยนแปลงและการกำหนดเวอร์ชันของฐานข้อมูล หากต้องการเรียนรู้เพิ่มเติมเกี่ยวกับความเป็นไปได้หรือการทำงานของเครื่องมือนี้ เราขอแนะนำให้ไปที่ลิงก์ไปยังเอกสารประกอบของโครงการ
เมื่อกำหนดค่าฐานข้อมูลแล้ว ให้ดำเนินการโหลดข้อมูลเบื้องต้นต่อไป
รันคำสั่งต่อไปนี้เพื่อเริ่มต้น:
./vendor/bin/doctrine-module migrations:migrate
จากนั้นคุณจะได้รับแจ้งว่าคำสั่งกำลังจะถูกดำเนินการและมีความวิกฤตที่เป็นไปได้ และคุณต้องยืนยันคำสั่งนั้น
Loading configuration from the integration code of your framework (setter).
Doctrine Database Migrations
WARNING ! You are about to execute a database migration that could result in schema changes and data lost. Are you sure you wish to continue ? (y/n)
กดตัวอักษร และ
พารามิเตอร์การกำหนดค่า Doctrine Migration จะอยู่ในไฟล์ config/autoload/global.php
. . .
return [
' doctrine ' => [
// migrations configuration
' migrations_configuration ' => [
' orm_default ' => [
' directory ' => ' data/Migrations ' ,
' name ' => ' Doctrine Database Migrations ' ,
' namespace ' => ' Migrations ' ,
' table ' => ' migrations ' ,
],
],
],
];
เริ่มคอนโซลเซิร์ฟเวอร์บนพอร์ต 8080 และไปที่ http://localhost:8080/ เพื่อตรวจสอบการทำงานปกติของเว็บไซต์
หมายเหตุ: เซิร์ฟเวอร์ PHP แบบฝังมีไว้ เพื่อการพัฒนาเท่านั้น ในการใช้งานจริงให้ใช้ Apache, Nginx หรืออื่น ๆ ที่ตรงกับความต้องการของคุณ
$ php -S 0.0.0.0:8080 -t public/ public/index.php
# O utilizar el alias definido en la sección scripts de composer.json:
$ composer serve
โปรเจ็กต์มาพร้อมกับโหมดการพัฒนาเริ่มต้น ซึ่งมีประโยชน์สำหรับการประกาศการกำหนดค่าที่จะทำงานในสภาพแวดล้อมท้องถิ่นของนักพัฒนาเท่านั้น เพื่อที่จะสามารถสร้างการเชื่อมต่อกับฐานข้อมูลทดสอบเหนือสิ่งอื่นใดได้ มีนามแฝงสามรายการสำหรับเปิดใช้งาน ปิดใช้งาน และสถานะคิวรี:
$ composer development-enable # habilita el modo desarrollo
$ composer development-disable # deshabilita el modo desarrollo
$ composer development-status # informa sobre si esta o no habilitado el modo desarrollo
ชุดทดสอบสองหน่วยถูกสร้างขึ้นโดยใช้ PHPUnit
./module/Api/test
./module/Application/test
รันคำสั่งต่อไปนี้ในคอนโซล
$ ./vendor/bin/phpunit -v --debug --testsuite Api
$ ./vendor/bin/phpunit -v --debug --testsuite Application
คุณสามารถรันทั้งสองชุดได้ด้วยคำสั่ง:
$ ./vendor/bin/phpunit -v --debug
หากต้องการสร้างรายงานความครอบคลุมการทดสอบ ให้ดำเนินการคำสั่งต่อไปนี้ในคอนโซล จากนั้นเปิดไฟล์ ./data/coverage/index.html
ในเบราว์เซอร์
$ ./vendor/bin/phpunit -v --debug --coverage-html data/coverage
หากคุณต้องการเพิ่มการแก้ไขในเครื่องให้กับการกำหนดค่า PHPUnit ให้คัดลอก phpunit.xml.dist
ไปยัง phpunit.xml
และแก้ไขไฟล์ใหม่ อย่างหลังจะมีความสำคัญมากกว่าแบบแรกเมื่อมีการรันการทดสอบและระบบควบคุมเวอร์ชันจะไม่สนใจ หากคุณต้องการแก้ไขการกำหนดค่าอย่างถาวร ให้แก้ไขไฟล์ phpunit.xml.dist
ใช้ Scrutinizer CI เพื่อรัน:
คุณสามารถค้นหาไฟล์การกำหนดค่า scrutinizer.yml
ซึ่งเราใช้บนเซิร์ฟเวอร์การรวมอย่างต่อเนื่องของ Scrutinizer
การประเมินคุณภาพโค้ด ความครอบคลุมของการทดสอบ และสถานะของการสร้างครั้งล่าสุดสามารถดูได้ผ่านป้ายสถานะที่อยู่ใต้ชื่อเรื่องของเอกสาร
หมายเหตุ: คุณสามารถเข้าถึงข้อมูลเพิ่มเติม เช่น รูปภาพ เอกสารทางเทคนิค และภาพหน้าจอพร้อมข้อมูลรายงานโครงการได้ในโฟลเดอร์ ./doc
ตัวอย่างการกำหนดค่าการทำงานใน Apache
ตัวอย่างนี้ไม่ได้คำนึงถึงการประกาศระดับการบันทึก ตำแหน่งของไฟล์บันทึก หรือกฎการเขียนซ้ำพิเศษ เป็นต้น
< VirtualHost *:80>
ServerName informe-gei.local
DocumentRoot /var/www/html/informe-gei/public
< Directory /var/www/html/informe-gei/public>
DirectoryIndex index.php
AllowOverride All
Order allow,deny
Allow from all
< IfModule mod_authz_core.c>
Require all granted
IfModule >
Directory >
VirtualHost >