Aplikasi dikembangkan dengan teknologi berikut:
Proyek ini terdiri dari 2 modul:
Modul terdiri dari dua halaman HTML, arsitektur MVC. Terletak di ./modules/Application
Teknologi
HTML5. CSS, PHP, jQuery, D3.js
Struktur dasar
Antarmuka sistem
Antarmuka dengan modul Api, yang menggunakan layanan web yang diekspos melalui serangkaian titik akhir yang mengembalikan JSON, yang dengannya grafik laporan dibuat secara dinamis.
Lapisan layanan web yang tenang. Terletak di ./modules/Api
Teknologi
PHP, MySQL, Doktrin
Ini terdiri dari serangkaian titik akhir yang dilihat oleh halaman hasil yang menyediakan data untuk grafik pada halaman hasil.
Titik akhir terbuka
$ git clone [email protected]:diegoangel/informe-gei.git
$ cd informe-gei
$ git checkout zf3-version
$ composer install
Ubah kredensial koneksi jika berlaku dan jalankan:
mysql -u root -proot -e " CREATE SCHEMA informe_gei "
Data konfigurasi koneksi harus ditempatkan di file 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 ' ,
]
],
],
],
];
File ini tidak akan ada, jadi Anda harus membuatnya dengan menyalin, menempel, dan mengganti nama file config/autoload/local.php.dist
.
cp config/autoload/local.php.dist config/autoload/local.php
Selain itu, file ini diabaikan dalam repositori kontrol versi dan oleh karena itu kredensial koneksi tidak akan pernah dibagikan secara tidak sengaja dan tetap aman.
Fungsionalitas proyek Migrasi Doktrin digunakan untuk mengelola perubahan dan pembuatan versi database. Untuk mempelajari lebih lanjut tentang kemungkinan atau pengoperasian alat ini, kami sarankan untuk mengunjungi tautan ke dokumentasi proyek.
Setelah database dikonfigurasi, lanjutkan dengan pemuatan data awal.
Jalankan perintah berikut untuk memulainya:
./vendor/bin/doctrine-module migrations:migrate
Anda kemudian akan diberitahu bahwa perintah tersebut akan dijalankan dan kemungkinan kritisnya dan Anda harus mengonfirmasinya.
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)
Tekan huruf dan
Parameter konfigurasi Migrasi Doktrin terletak di file config/autoload/global.php
. . .
return [
' doctrine ' => [
// migrations configuration
' migrations_configuration ' => [
' orm_default ' => [
' directory ' => ' data/Migrations ' ,
' name ' => ' Doctrine Database Migrations ' ,
' namespace ' => ' Migrations ' ,
' table ' => ' migrations ' ,
],
],
],
];
Mulai server konsol pada port 8080 dan navigasikan ke http://localhost:8080/ untuk memeriksa pengoperasian normal situs web.
Catatan: Server PHP yang tertanam hanya untuk pengembangan , dalam produksi gunakan Apache, Nginx atau lainnya yang memenuhi kebutuhan Anda.
$ 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
Proyek ini dilengkapi dengan mode pengembangan default, berguna untuk mendeklarasikan konfigurasi yang hanya akan berjalan di lingkungan lokal pengembang, misalnya, untuk dapat membuat koneksi ke database pengujian. Menyediakan tiga alias untuk mengaktifkan, menonaktifkan, dan menanyakan status:
$ 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
Dua rangkaian pengujian unit dibuat menggunakan PHPUnit.
./module/Api/test
./module/Application/test
Jalankan perintah berikut di konsol.
$ ./vendor/bin/phpunit -v --debug --testsuite Api
$ ./vendor/bin/phpunit -v --debug --testsuite Application
Anda dapat menjalankan kedua suite dengan perintah:
$ ./vendor/bin/phpunit -v --debug
Untuk menghasilkan laporan cakupan pengujian, jalankan perintah berikut di konsol lalu buka file ./data/coverage/index.html
di browser.
$ ./vendor/bin/phpunit -v --debug --coverage-html data/coverage
Jika Anda perlu menambahkan modifikasi lokal pada konfigurasi PHPUnit, salin phpunit.xml.dist
ke phpunit.xml
dan edit file baru; yang terakhir lebih diutamakan daripada yang pertama ketika pengujian dijalankan dan diabaikan oleh sistem kontrol versi. Jika Anda ingin mengedit konfigurasi secara permanen, edit file phpunit.xml.dist
.
Scrutinizer CI yang digunakan untuk menjalankan:
Anda dapat menemukan file konfigurasi scrutinizer.yml
, yang kami gunakan di server integrasi berkelanjutan Scrutinizer.
Evaluasi kualitas kode, cakupan pengujian, dan status versi terakhir dapat dilihat melalui lencana yang terdapat di bawah judul dokumen.
CATATAN: Informasi tambahan seperti gambar, dokumen teknis, dan tangkapan layar dengan informasi laporan proyek dapat diakses di folder ./doc.
Contoh konfigurasi fungsional di Apache.
Contoh ini tidak mencakup deklarasi tingkat logging, lokasi file log, atau aturan penulisan ulang khusus, misalnya.
< 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 >