تم تطوير التطبيق بالتقنيات التالية:
يتكون المشروع من وحدتين:
وحدة مكونة من صفحتين HTML، بنية MVC. يقع في ./modules/Application
التقنيات
HTML5. CSS، PHP، مسج، D3.js
الهيكل الأساسي
واجهات النظام
واجهة مع وحدة API، التي تستهلك خدمات الويب المكشوفة من خلال سلسلة من نقاط النهاية التي تُرجع JSON، والتي يتم من خلالها إنشاء رسومات التقرير ديناميكيًا.
طبقة خدمات الويب RESTful. يقع في ./modules/Api
التقنيات
PHP، الخلية، العقيدة
ويتكون من سلسلة من نقاط النهاية التي تستشيرها صفحة النتائج والتي توفر بيانات للرسوم البيانية في صفحة النتائج.
نقاط النهاية المكشوفة
$ 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 >