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:
| Environment | URL Akses | Deskripsi |
|---|---|---|
| ๐ Production | https://erps.kalbenutritionals.com | Environment utama pengguna |
| ๐งช Development | https://erpsdev.kalbenutritionals.web.id | Testing & staging area |
| โ๏ธ Hangfire | https://erps.kalbenutritionals.com/hangfire | Dashboard 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โ
- Restore database dari script SQL di folder
sql/ - Konfigurasi connection string di
Web.config - Update Entity Framework models jika diperlukan
Konfigurasiโ
Connection Stringsโ
Konfigurasi connection string dapat ditemukan di:
KN2021_E_RPS.MVC/Web.config- Untuk aplikasi webKN2021_E_RPS.DAL/App.config- Untuk data access layerKN2021_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โ
- Buka solution file
KN2021_E_RPS.slndi Visual Studio - Restore NuGet packages:
Tools > NuGet Package Manager > Package Manager Console
PM> Update-Package -reinstall - Pastikan connection string sudah dikonfigurasi dengan benar
- Build solution (Ctrl+Shift+B)
- Set
KN2021_E_RPS.MVCsebagai startup project - Jalankan aplikasi (F5)
Console Applicationsโ
Untuk menjalankan console applications:
- Set project console sebagai startup project
- Jalankan aplikasi (F5) atau build dan jalankan executable
Deploymentโ
Web Applicationโ
- Build solution dalam mode Release
- Publish aplikasi ke IIS:
- Pilih project
KN2021_E_RPS.MVC - Right-click > Publish
- Pilih target deployment (IIS, File System, dll)
- Pilih project
- Konfigurasi IIS:
- Pastikan Application Pool menggunakan .NET Framework 4.x
- Set identity dengan akses ke database
- Update connection strings di
Web.configsesuai environment production
Console Applicationsโ
- Build console applications dalam mode Release
- Deploy executable ke server
- 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 usermRole.Table.sql- Tabel rolemMenu.Table.sql- Tabel menumModule.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