Dalam aplikasi Planning Poker, terdapat beberapa konfigurasi dan pengaturan yang dapat diatur untuk memungkinkan penggunaan aplikasi secara efektif. Berikut adalah beberapa contoh konfigurasi dan pengaturan tersebut:
UseServerSide
Konfigurasi UseServerSide
memiliki opsi berikut:
- Always: Blazor berjalan pada sisi server dan HTML disinkronisasi dengan browser menggunakan SignalR.
- Never: Blazor berjalan dalam WebAssembly di client.
- Mobile: Blazor berjalan pada sisi server untuk perangkat mobile dan di client lainnya. Pembukaan Blazor dapat lambat pada perangkat mobile, sehingga opsi ini mengembalikan ke sisi server untuk mulai lebih cepat.
RepositoryFolder
Konfigurasi RepositoryFolder
memiliki nilai default kosong. Path to folder, di mana data disimpan antara aplikasi restart. Path relatif terhadap folder aplikasi. Ketika konfigurasi ini kosong, tidak ada data yang disimpan dan semua hilang pada aplikasi restart.
RepositoryTeamExpiration
Konfigurasi RepositoryTeamExpiration
memiliki nilai default 1200. Tim akan dihapus setelah waktu yang ditentukan dengan tidak ada kegiatan user.
ClientInactivityTimeout
Konfigurasi ClientInactivityTimeout
memiliki nilai default 900. Pengguna akan terputus dari tim setelah waktu yang ditentukan dengan tidak ada koneksi dari pengguna.
ClientInactivityCheckInterval
Konfigurasi ClientInactivityCheckInterval
memiliki nilai default 60. Interval waktu untuk menjalankan pekerjaan periodic yang memutuskan pengguna tidak aktif.
WaitForMessageTimeout
Konfigurasi WaitForMessageTimeout
memiliki nilai default 60. Masing-masing client mengajukan secara teratur status updates. Ketika tidak ada perubahan dalam waktu tertentu, client menerima tanggapan bahwa tidak ada perubahan dan meminta update lagi. Dengan demikian, client memberitahukan agar koneksi tetap hidup.
ServiceBusConnectionString
Konfigurasi ServiceBusConnectionString
memiliki nilai default kosong. String koneksi untuk Azure Service Bus yang digunakan untuk sinkronisasi data antara server di web-farm. Contoh: Endpoint=myEndpoint;SharedSecretIssuer=mySecret;SharedSecretValue=myPassword;
ServiceBusTopic
Konfigurasi ServiceBusTopic
memiliki nilai default PlanningPoker. Node menggunakan topik Service Bus yang ditentukan untuk komunikasi.
InitializationTimeout
Konfigurasi InitializationTimeout
memiliki nilai default 60. Waktu setelah fase inisialisasi dibatalkan dan server menganggap bahwa itu sendiri. Timeout ini tidak seharusnya tercapai, karena waktu inisialisasi lebih pendek.
InitializationMessageTimeout
Konfigurasi InitializationMessageTimeout
memiliki nilai default 5. Timeout untuk menunggu pesan dari node lain selama fase inisialisasi. Ketika timeout tercapai, server menghubungi node lain atau menganggap bahwa itu sendiri di web-farm.
SubscriptionMaintenanceInterval
Konfigurasi SubscriptionMaintenanceInterval
memiliki nilai default 300. Interval waktu untuk melakukan pengecekan periodic yang memastikan node-node dalam web-farm masih responsif.
SubscriptionInactivityTimeout
Konfigurasi SubscriptionInactivityTimeout
memiliki nilai default 300. Subskripsi Service Bus akan dihapus untuk node-node yang tidak respond dalam waktu yang ditentukan.
Buat dan Test
Untuk membuat dan menjalankan aplikasi, dapat dilakukan dengan menjalankan skrip PowerShell BuildAndRun.ps1.
Penggunaan Selenium (optional)
Dapat juga dilakukan pengujian end-to-end menggunakan Selenium dengan menambahkan parameter -E2ETest:$true pada skrip PowerShell BuildAndRun.ps1.
Run di Visual Studio
Proyek PlanningPoker.sln dapat dibuka, dibuat, dan di-debugkan dalam Visual Studio 2022. Selain itu, dapat juga dilakukan pengujian unit dengan menambahkan proyek Testing.
Proyek-proyek
Solusi PlanningPoker berisi beberapa proyek:
- PlanningPoker.Domain: Mengandung kelas domain aplikasi.
- PlanningPoker: Menjelaskan host objek-objek domain, JSON web service dan file-system repository.
- PlanningPoker.Service: Mengimplementasikan DTOs yang digunakan antara server dan client.
- PlanningPoker.Web: Merupakan host aplikasi. Membuat ASP.NET Core hosting, dependency injection dan memuat konfigurasi.
- PlanningPoker.Client: Merupakan Blazor SPA client. Mengandung kelas-kelas untuk berkomunikasi dengan server.
- PlanningPoker.Testing: Proyek pengujian unit dan end-to-end.
Lisensi
Aplikasi Planning Poker diizinkan oleh lisensi CC BY-NC-SA 4.0.
Kesimpulan
Dalam artikel ini, kita telah membahas beberapa konfigurasi dan pengaturan yang dapat digunakan dalam aplikasi Planning Poker. Dengan memahami konfigurasi-konfigurasi tersebut, Anda dapat meningkatkan kinerja aplikasi dan membuatnya lebih efektif.