Training Modern Frontend Web App with Blazor

Pada tanggal 13-15 January 2025 telah dilangsungkan inhouse training dengan judul Modern Frontend Web Application with Blazor. Training ini diikuti peserta yang merupakan software developer dari PT EPSON Batam.

Blazor adalah framework yang dapat digunakan untuk membangun aplikasi SPA (Single Page Application). Dengan Blazor kita dapat membangun front-end Web UI yang interaktif dengan menggunakan C# tanpa harus menggunakan JavaScript. Blazor dapat menjalankan kode C# pada sisi client browser (sama seperti javascript) menggunakan WebAssembly. Aplikasi Blazor terdiri atas reusable web UI components yang diimplementasikan dengan menggabungkan C#, HTML, and CSS. Kode untuk client dan server dapat ditulis menggunakan C# sehingga memudahkan pengembang untuk berbagi kode dan libraries.

Pelatihan ini akan mengeksplorasi topik arsitektur yang penting pada Blazor seperti dependency injection dan routing secara mendalam. Pertama, peserta akan melihat cara menggunakan dan berbagi komponen yang reusable untuk meningkatkan produktivitas. Selanjutnya, peserta akan mendalami komunikasi HTTP di Blazor, membantu aplikasi web berinteraksi dengan berbagai API, bekerja dengan Blazor Component, dan penggunaan third-party template. Terakhir, peserta akan menjelajahi konsep form yang lebih canggih dan best practice untuk menggunakannya. Setelah selesai mengikuti pelatihan diharapkan peserta akan lebih siap untuk menerapkan lebih banyak konsep, pola desain, dan fitur dunia nyata.

Adapun detail materi pada pelatihan ini adalah sebagai berikut:

  • Understanding Blazor
  • Creating First Blazor App
  • Working with Blazor Component
  • Working with Dependency Injection and Application State
  • Using Data from API (REST Http Communication)
  • Form and Data Validation
  • Integrating JavaScript Component
  • Adding Authentication and Authorization
  • Testing Component using bUnit
  • MudBlazor Template
  • Study Case

Training Source Code Review

Pada tanggal 26-28 Agustus 2024 telah dilangsungkan inhouse training dengan topik Source Code Review. Pelatihan ini diikuti oleh senior developer dari PT Berlian Sistem Informasi.

Pelatihan ini membahas topik Source Code Review untuk mengevaluasi source code secara sistematis termasuk menemukan kesalahan, meningkatkan kualitas kode, dan menjamin kepatuhan terhadap coding standard/policy sesuai dengan best practices yang ada. Proses source code review Ini memerlukan penelusuran kode baris demi baris, pemeriksaan struktur code, logika, fungsionalitas, dan dokumentasi. Tujuan mendasar dari souce code review adalah untuk meningkatkan kemudahan pemeliharaan, keamanan, dan kinerja dari perangkat lunak yang dikembangkan. Pada pelatihan ini juga dibahas penggunaan beberapa tools (sonarqube, sonar lint, etc) yang dapat digunakan untuk source code review dan cara integrasinya pada kode editor yang digunakan. Selain itu dibahas juga bagaimana cara mengintegrasikan unit testing, code coverage dan source code review pada proses CI/CD pipeline yang dibuat, sehingga dapat dipastikan bahwa bug/kesalahan akan dapat diminimalkan ketika source code tersebut siap untuk di deploy.


Training Secure Coding in ASP.NET Core

Pada tanggal 23-26 July 2024 telah dilangsungkan inhouse training dengan judul Secure Coding in ASP.NET Core. Pelatihan ini diikuti oleh developer dari ISD Department Epson Batam.

Pelatihan ini membahas penerapan security best practices yang perlu dilakukan oleh developer untuk mengamankan aplikasi web dan backend services. Guideline yang digunakan diambil dari OWASP Application Security Verification Standard (ASVS). ASVS menyediakan guideline berupa checklist yang dapat diikuti untuk memastikan aplikasi yang dibuat sudah memenuhi standar level security yang disarankan oleh OWASP. Penerapan ASVS guideline akan disesuaikan dengan framework ASP.NET Core. Topik yang dibahas pada pelatihan ini meliputi:

  • Secure Coding with OWASP
  • OWASP ASVS Architecture
  • Authentication in ASP.NET Core (Identity, Multi Factor Authentication, Rate Limiting Login, etc)
  • Session Management (ASP.NET Core Sessions, Cookies Management)
  • Access Control (Role Based & Claim Based Authorization, Anti-CSRF)
  • Secure Handling Input and Output Data (Validation, Encoding, Prevent Injection, etc)
  • Protecting Sensitive Data (ASP.NET Core Data Protection, Data Privacy, Secret Management, etc)
  • Secure Error Handling and Logging
  • Vulnerable Dependencies
  • Protecting the Business Logic
  • Handling Untrusted Files
  • Hardening Configuration
  • API Security

Training Automated UI Testing with Selenium & C#

Pada tanggal 17-19 July 2024 telah dilaksanakan pelatihan dengan Judul Automated UI Testing with Selenium & C#. Peserta pada pelatihan ini adalah tim Quality Assurance (QA) dari KSI Universitas Atmajaya.

Pelatihan ini membahas bagaimana membuat automasi User Interface (UI) testing yang biasanya dilakukan secara manual. Tools yang digunakan pada pelatihan ini adalah Selenium IDE, Selenium Web Driver, C#, NUnit/XUnit dan Visual Studio 2022. Adapun materi yang dibahas pada pelatihan ini adalah sebagai berikut:

  • Understanding What Selenium Is and Why You Should Use It
  • Introduction to Automated End-to-end UI Testing
  • Using Selenium IDE Plugin
  • Best Practices using Selenium IDE Plugin
  • Getting Started with Selenium WebDriver         
  • Selenium WebDriver & xUnit
  • Integration Selenium WebDriver, xUnit in Visual Studio 2022
  • Selenium Advanced Topics (Javascript, XPath, Headless Mode, etc)
  • Exploring WebDriver Waits
  • Leveraging Chrome Debugging Protocol
  • Integrate Automated UI Testing on DevOps Pipeline

Training Building Web & RESTful API with ASP.NET Core 8

Pada tanggal 8-12 July 2024 telah dilaksanakan pelatihan dengan judul Building Web & RESTful API with ASP.NET Core 8. Pelatihan ini diikuti oleh peserta dari Kangean Energi Indonesia Ltd. Pada pelatihan ini dibahas bagaimana membangun aplikasi web dan web API (RESTful) menggunakan ASP.NET Core 8. Adapun materi yang dibahas pada pelatihan ini meliputi:

  • Introduction to ASP.NET Core 8 and ASP.NET Core 8 MVC
  • Setting up an ASP.NET Core 8 MVC Application
  • Working with Data using ADO.NET & Dapper (Micro ORM)
  • Working with Data Using Entity Framework Core 8
  • Adding Routes and Navigation
  • Improving the Views in the Application with Razor
  • Working with Forms and Model Binding
  • Testing the Application Components
  • Integrating with AJAX, and ASP.NET Core Web API
  • Authentication and Authorization (ASP.NET Identity)
  • Building RESTful API with ASP.NET Web API
  • Http Method & Http Response Status
  • DTO (Data Transfer Object)
  • JWT (JSON Web Token)
  • JWT and ASP.NET Identity Integration
  • Claim based Authentication & Authorization
  • Deploying the Site to Windows & Linux VM

Training Linux System Administrator

Pada tanggal 28 – 31 Mei 2024 telah dilaksanakan pelatihan online dengan judul Linux System Administrator. Pelatihan ini diikuti oleh dua peserta yang merupakan IT support dari PT Shimano Batam. Pada pelatihan ini peserta mempelajari beberapa topik sebagai berikut:

  • Pengenalan CentOS & Redhat Enterprise
  • Linux Partition, Filesystem, and Installation
  • Linux Console Command Fundamental
  • Ubuntu System Administrator (System Configuration, Task Scheduling)
  • DHCP and DNS
  • SSH and NFS
  • Apache, Nginx, php, mariadb
  • FTP server
  • Samba and LDAP
  • System Monitoring
  • Study Case

Training .NET Multi-platform App UI (MAUI)

Pada tanggal 20 – 24 Mei 2024 telah dilangsungkan acara pelatihan dan juga serah terima project PHR One App yaitu sebuah aplikasi mobile untuk manajemen pelaporan dan pemetaan titik sumur milik Pertamina Hulu Rokan (PHR). Aplikasi ini dikembangkan menggunakan .NET MAUI dan terintegrasi dengan layanan dari ArcGIS. Aplikasi tahap pertama ini dikembangkan oleh tim pengembang dari Actual Solusi bekerja sama dengan tim dari MII (Mitra Integrasi Informatika). Pada tahap pertama tim dari Actual Solusi mengembangkan framework dan template aplikasi .NET MAUI yang memiliki beberapa fitur seperti:

  • MVVM Pattern
  • Integrasi dengan ArcGIS SDK
  • Offline Storage
  • Integrasi dengan ASP.NET Core Backend & Azure Services
  • Hybrid Web App
  • Integrasi Push Notification dengan Firebase
  • Integrasi dengan DevExpress MAUI Control
  • MAUI Essentials (Geolocation, Compass, Network, etc)
  • Background/Foreground Services
  • Sinkronisasi Offline Storage dengan Online Server

Pengembangan aplikasi tahap pertama ini fokus pada best practices pembuatan framework, template, dan penerapan fitur-fitur utama pada aplikasi yang dibuat. Tujuan dari pengembangan tahap pertama ini adalah menyiapkan fondasi utama yang akan dilanjutkan pada tahapan selanjutnya. Pelatihan dilaksanakan setelah proses serah terima project, tujuan dari pelatihan ini adalah transfer pengetahuan terkait project agar dapat dilanjutkan oleh tim pengembang dari pihak PHR.

[Developer Bootcamp] Mobile & Full-Stack Development with .NET Core

Pada tanggal 17 Januari – 5 April 2024 telah dilangsungkan acara Developer Bootcamp yang diikuti oleh 17 orang peserta dari PT Berlian Sistem Informasi (BSI).

Tujuan dari pelaksanaan bootcamp ini adalah pembekalan kepada calon developer terkait pengembangan aplikasi backend dan frontend. Materi yang disampaikan pada pelatihan ini meliputi topik sebagai berikut:

  • .NET Core & C# Fundamentals
  • SQL Server for Developers
  • Modern Web Development with ASP.NET Core 8
  • RESTful API / Backend Development with ASP.NET Core 8 Web API
  • Advanced Topics (ASP.NET Identity & Security, Clean Architecture, .NET Microservices)
  • Designing & Implementing Azure DevOps Solution
  • Cross Platform Mobile Development with Flutter