Skip to main content

E-RPS (AVATAR)

Aplikasi: Avatar / ERPS (Advance Transaction Planning Reliability)
Perusahaan: PT Sanghiang Perkasa
Tipe Project: .NET Web Application
Versi: 3.3.0
Tim Product Terkait: Sigit Prianto Tjokronolo
Tanggal Dokumentasi: Januari 2026


๐Ÿ”— Akses Aplikasiโ€‹

Berikut adalah alamat akses cepat untuk environment aplikasi:

EnvironmentURL AksesDeskripsi
๐Ÿš€ Productionhttps://erps.kalbenutritionals.comEnvironment utama pengguna
๐Ÿงช Developmenthttps://erpsdev.kalbenutritionals.web.idTesting & staging area
โš™๏ธ Hangfirehttps://erps.kalbenutritionals.com/hangfireDashboard Background Jobs

Deskripsi Proyekโ€‹

KN2021 E-RPS adalah sistem aplikasi web berbasis ASP.NET MVC yang dikembangkan untuk Kalbe Nutritionals. Sistem ini dirancang untuk mengelola perencanaan produksi, master data produk, dan transaksi terkait proses produksi di lingkungan manufaktur.

Arsitektur Aplikasiโ€‹

Proyek ini menggunakan arsitektur Multi-Layer Architecture dengan pemisahan yang jelas antara layer-layer berikut:

1. KN2021_E_RPS.MVC (Presentation Layer)โ€‹

  • Aplikasi web berbasis ASP.NET MVC 5
  • Menangani UI/UX dan interaksi pengguna
  • Menggunakan Bootstrap 4.6.2 untuk styling
  • Mengintegrasikan Hangfire untuk background jobs
  • Menggunakan Elmah untuk error logging

2. KN2021_E_RPS.BussLogic (Business Logic Layer)โ€‹

  • Berisi logika bisnis aplikasi
  • Menangani validasi dan aturan bisnis
  • Custom Business Logic untuk berbagai modul

3. KN2021_E_RPS.DAL (Data Access Layer)โ€‹

  • Layer untuk mengakses database
  • Menggunakan Entity Framework 6.4.4
  • Mendukung multiple database providers:
    • SQL Server (Entity Framework)
    • Oracle (Oracle Managed Data Access)
  • Berisi EDMX models dan database context

4. KN2021_E_RPS.Common (Common/Shared Layer)โ€‹

  • Berisi class-class yang digunakan bersama
  • Entity classes
  • DTO (Data Transfer Objects)
  • Interface definitions
  • Utility classes dan helper functions
  • Authentication dan authorization classes

5. Console Applicationsโ€‹

  • KN2021-E_RPS.Console.BoRPS: Console application untuk sinkronisasi data BO dari Oracle
  • KN2021-E_RPS.Console.ITEM: Console application untuk proses batch terkait item

Teknologi yang Digunakanโ€‹

Framework & Librariesโ€‹

  • ASP.NET MVC 5.2.7
  • Entity Framework 6.4.4
  • .NET Framework 4.7.2 / 4.8
  • Hangfire 1.8.14 - Background job processing
  • Elmah 1.2.2 - Error logging
  • AutoMapper - Object mapping
  • Dapper 2.0.123 - Micro ORM
  • Newtonsoft.Json 13.0.1 - JSON serialization

Databaseโ€‹

  • SQL Server - Database utama
  • Oracle Database - Database terintegrasi (untuk sinkronisasi data)

Frontendโ€‹

  • Bootstrap 4.6.2
  • jQuery 3.7.0
  • jQuery Validation 1.17.0

Reportingโ€‹

  • Microsoft Report Viewer 2015
  • EPPlus 7.4.1 - Excel file generation
  • NPOI 2.5.5 - Office file manipulation

Authentication & Securityโ€‹

  • BotDetect Captcha 4.4.2
  • DotNetOpenAuth - OAuth/OpenID support

Struktur Proyekโ€‹

rps/
โ”œโ”€โ”€ KN2021_E_RPS.MVC/ # Web Application (Presentation Layer)
โ”‚ โ”œโ”€โ”€ Controllers/ # MVC Controllers
โ”‚ โ”‚ โ”œโ”€โ”€ Master/ # Master Data Controllers
โ”‚ โ”‚ โ”œโ”€โ”€ Transaction/ # Transaction Controllers
โ”‚ โ”‚ โ”œโ”€โ”€ System/ # System Management Controllers
โ”‚ โ”‚ โ””โ”€โ”€ Avatar/ # Avatar Module Controllers
โ”‚ โ”œโ”€โ”€ Views/ # Razor Views
โ”‚ โ”œโ”€โ”€ Models/ # View Models
โ”‚ โ”œโ”€โ”€ Content/ # CSS, Images
โ”‚ โ”œโ”€โ”€ Scripts/ # JavaScript files
โ”‚ โ””โ”€โ”€ App_Start/ # Application startup configuration
โ”‚
โ”œโ”€โ”€ KN2021_E_RPS.BussLogic/ # Business Logic Layer
โ”‚ โ””โ”€โ”€ CustomBL/ # Custom Business Logic classes
โ”‚
โ”œโ”€โ”€ KN2021_E_RPS.DAL/ # Data Access Layer
โ”‚ โ”œโ”€โ”€ Context/ # Entity Framework Context
โ”‚ โ”œโ”€โ”€ Edmx/ # Entity Data Models
โ”‚ โ”œโ”€โ”€ EFClientUtility.cs # EF Helper
โ”‚ โ”œโ”€โ”€ OracleClientUtility.cs # Oracle Helper
โ”‚ โ””โ”€โ”€ SqlClientUtility.cs # SQL Server Helper
โ”‚
โ”œโ”€โ”€ KN2021_E_RPS.Common/ # Common/Shared Layer
โ”‚ โ”œโ”€โ”€ Entity/ # Entity classes
โ”‚ โ”œโ”€โ”€ Dto/ # Data Transfer Objects
โ”‚ โ”œโ”€โ”€ Interface/ # Interface definitions
โ”‚ โ”œโ”€โ”€ Library/ # Utility libraries
โ”‚ โ””โ”€โ”€ Constant/ # Constants
โ”‚
โ”œโ”€โ”€ KN2021-E_RPS.Console.BoRPS/ # Console App - BO Synchronization
โ”œโ”€โ”€ KN2021-E_RPS.Console.ITEM/ # Console App - Item Processing
โ”‚
โ”œโ”€โ”€ sql/ # Database scripts
โ”œโ”€โ”€ packages/ # NuGet packages
โ””โ”€โ”€ KN2021_E_RPS.sln # Visual Studio Solution file

Fitur Utamaโ€‹

Master Data Managementโ€‹

  • Product Management: Pengelolaan data produk dan varian
  • Item Management: Manajemen item/material
  • Brand Management: Pengelolaan brand
  • Production Line: Manajemen line produksi
  • Shift Management: Pengelolaan shift kerja
  • Change Over Management:
    • Material Change Over
    • Metode Change Over
    • Production Line Change Over Detail
  • Alergen Management: Pengelolaan data alergen
  • Auger Management: Manajemen auger
  • Plan Down Time: Perencanaan downtime

Transaction Managementโ€‹

  • RPS Transaction: Transaksi Request Planning System
  • Document Management: Manajemen dokumen transaksi
  • Adjustment Direct: Penyesuaian langsung

System Managementโ€‹

  • User Management: Manajemen pengguna
  • Role & Access Control: Manajemen role dan akses
  • Menu Management: Konfigurasi menu aplikasi
  • Module Management: Manajemen modul
  • System Configuration: Konfigurasi sistem
  • Parameter Management: Manajemen parameter
  • Notification System: Sistem notifikasi
  • Language Management: Manajemen bahasa/translasi
  • Developer Panel: Panel untuk developer

Integrationโ€‹

  • Oracle Integration: Sinkronisasi data dengan Oracle ERP
  • Background Jobs: Proses batch menggunakan Hangfire
  • Report Generation: Generate laporan dalam berbagai format

Prasyaratโ€‹

Software Requirementsโ€‹

  • Visual Studio 2019 atau lebih baru
  • .NET Framework 4.7.2 atau lebih tinggi
  • SQL Server (versi yang didukung Entity Framework 6)
  • Oracle Client (jika menggunakan integrasi Oracle)
  • IIS (untuk deployment)

Database Setupโ€‹

  1. Restore database dari script SQL di folder sql/
  2. Konfigurasi connection string di Web.config
  3. Update Entity Framework models jika diperlukan

Konfigurasiโ€‹

Connection Stringsโ€‹

Konfigurasi connection string dapat ditemukan di:

  • KN2021_E_RPS.MVC/Web.config - Untuk aplikasi web
  • KN2021_E_RPS.DAL/App.config - Untuk data access layer
  • KN2021_E_RPS.BussLogic/App.config - Untuk business logic layer

Environment Configurationโ€‹

Aplikasi mendukung beberapa environment:

  • Development
  • Testing
  • Production

Connection string dapat dikonfigurasi per environment dengan mengubah komentar di Web.config.

Cara Menjalankan Aplikasiโ€‹

Development Modeโ€‹

  1. Buka solution file KN2021_E_RPS.sln di Visual Studio
  2. Restore NuGet packages:
    Tools > NuGet Package Manager > Package Manager Console
    PM> Update-Package -reinstall
  3. Pastikan connection string sudah dikonfigurasi dengan benar
  4. Build solution (Ctrl+Shift+B)
  5. Set KN2021_E_RPS.MVC sebagai startup project
  6. Jalankan aplikasi (F5)

Console Applicationsโ€‹

Untuk menjalankan console applications:

  1. Set project console sebagai startup project
  2. Jalankan aplikasi (F5) atau build dan jalankan executable

Deploymentโ€‹

Web Applicationโ€‹

  1. Build solution dalam mode Release
  2. Publish aplikasi ke IIS:
    • Pilih project KN2021_E_RPS.MVC
    • Right-click > Publish
    • Pilih target deployment (IIS, File System, dll)
  3. Konfigurasi IIS:
    • Pastikan Application Pool menggunakan .NET Framework 4.x
    • Set identity dengan akses ke database
  4. Update connection strings di Web.config sesuai environment production

Console Applicationsโ€‹

  1. Build console applications dalam mode Release
  2. Deploy executable ke server
  3. Setup Windows Task Scheduler untuk menjalankan secara berkala (jika diperlukan)

Background Jobs (Hangfire)โ€‹

Aplikasi menggunakan Hangfire untuk menjalankan background jobs. Dashboard Hangfire dapat diakses melalui:

http://your-domain/hangfire

Catatan: Pastikan untuk mengkonfigurasi autentikasi untuk dashboard Hangfire di production.

Error Loggingโ€‹

Aplikasi menggunakan Elmah untuk error logging. Log errors dapat diakses melalui:

http://your-domain/elmah

Database Scriptsโ€‹

Script SQL untuk membuat tabel-tabel sistem dapat ditemukan di folder sql/:

  • mUser.Table.sql - Tabel user
  • mRole.Table.sql - Tabel role
  • mMenu.Table.sql - Tabel menu
  • mModule.Table.sql - Tabel modul
  • Dan lainnya...

Dependenciesโ€‹

Semua dependencies dikelola melalui NuGet packages. File packages.config di setiap project berisi daftar package yang digunakan.

Untuk restore packages:

nuget restore KN2021_E_RPS.sln

Common Issues & Troubleshootingโ€‹