Aplikasi pengelolaan inventory barang yang dirancang menggunakan Framework PHP CodeIgniter 4, untuk memudahkan pengelolaan data stok dan penjualan di seluruh cabang perusahaan Anda.
MIT License
O-Stock adalah aplikasi pengelolaan stok yang dirancang untuk memudahkan Anda dalam mengelola data stok dan penjualan di seluruh cabang perusahaan Anda. Dengan fitur lengkap dan antarmuka yang intuitif, O-Stock membantu Anda mengoptimalkan pengelolaan inventaris dan memaksimalkan efisiensi bisnis Anda.
O-Stock hadir dalam dua versi: Free dan Premium. Berikut adalah perbedaan utama antara kedua versi tersebut:
[!NOTE] Source Code O-Stock Versi Premium tersedia di Karyakarsa.
Anda perlu melakukan sedikit konfigurasi di bawah ini sebelum mulai menjalankan web O-Stock:
Unduh file ZIP source code o-stock atau jalankan perintah berikut di terminal Anda:
git clone https://github.com/josephines1/o-stock.git
Ekstrak file ZIP dan letakkan folder o-stock di dalam folder htdocs (misalnya D:\xampp\htdocs).
Buka folder o-stock di Visual Studio Code.
Di Visual Studio Code, buka terminal dengan memilih Terminal > New Terminal
di menu bagian atas, atau tekan ctrl + `
Jalankan perintah berikut untuk menginstal package yang dibutuhkan:
composer install
Setelah instalasi selesai, salin file env
dan beri nama menjadi .env
Atur nama aplikasi:
APP_NAME = "Nama Aplikasi"
Ubah environment menjadi development:
CI_ENVIRONMENT = development
Atur Base URL:
app.baseURL = 'http://localhost:8080/'
Konfirgurasikan database. Sesuaikan dengan database milik Anda:
database.default.hostname = localhost
database.default.database = o-stock
database.default.username = root
database.default.password =
database.default.DBDriver = MySQLi
database.default.DBPrefix =
database.default.port = 3306
Pastikan tidak ada tanda "#" pada baris yang telah dikonfigurasi.
Buka file vendor\myth\auth\src\Filters\RoleFilter.php
. Modifikasi function before
(baris 18 - 46) menjadi seperti berikut ini.
public function before(RequestInterface $request, $arguments = null)
{
/*
* Jika tidak ada pengguna yang login, arahkan mereka ke formulir login.
*/
if (!$this->authenticate->check()) {
session()->set('redirect_url', current_url());
return redirect($this->reservedRoutes['login']);
}
/*
* Jika tidak ada argumen yang diberikan, lanjutkan ke proses berikutnya.
*/
if (empty($arguments)) {
return;
}
/*
* Periksa setiap izin yang diminta
*/
foreach ($arguments as $group) {
/*
* Jika pengguna berada dalam grup yang memiliki izin, lanjutkan.
*/
if ($this->authorize->inGroup($group, $this->authenticate->id())) {
return;
}
}
/*
* Jika pengguna tidak memiliki izin dan loginnya bersifat senyap (silent login)
*/
if ($this->authenticate->silent()) {
/*
* Arahkan ke URL yang tersimpan di sesi atau ke URL landing
*/
$redirectURL = session('redirect_url') ?? route_to($this->landingRoute);
unset($_SESSION['redirect_url']);
return redirect()->to($redirectURL)->with('error', lang('Auth.notEnoughPrivilege'));
}
/*
* Jika pengguna tidak memiliki izin dan login tidak bersifat senyap, arahkan ke halaman utama
*/
return redirect()->to(base_url());
}
Buka file vendor\myth\auth\src\Config\Auth.php
.
Atur defaultUserGroup (baris 19)
public $defaultUserGroup = 'cabang';
Atur tampilan auth (baris 76 - 83)
public $views = [
'login' => 'App\Views\auth\login',
'register' => 'Myth\Auth\Views\register',
'forgot' => 'Myth\Auth\Views\forgot',
'reset' => 'Myth\Auth\Views\reset',
'emailForgot' => 'Myth\Auth\Views\emails\forgot',
'emailActivation' => 'Myth\Auth\Views\emails\activation',
];
Atur activeResetter (baris 201)
public $activeResetter = null;
Buka XAMPP Control Panel Anda dan start server Apache dan MySQL.
Buka localhost/phpmyadmin
di browser, lalu buat database baru dengan nama o-stock
atau sesuaikan dengan nama database yang Anda inginkan.
Buka kembali terminal di Visual Studio Code, jalankan perintah migrate dan seed.
Migrate
php spark migrate -2024-07-27-125132_create_ostock_tables
php spark migrate -2024-07-27-134447_create_auth_tables
Seed
php spark db:seed KantorSeeder
php spark db:seed SalesmanSeeder
php spark db:seed KonsumenSeeder
php spark db:seed SupplierSeeder
php spark db:seed KategoriProdukSeeder
php spark db:seed ProdukSeeder
php spark db:seed UserSeeder
php spark db:seed AuthGroupsSeeder
php spark db:seed AuthGroupsUsersSeeder
Mulai server dengan menjalankan perintah berikut ini di terminal.
php spark serve
Selesai! Akses web melalui http://localhost:8080
.
Setelah melakukan instalasi dan konfigurasi O-Stock, Anda dapat melakukan login pada aplikasi dengan email dan password sebagai berikut.
Email: [email protected]
Password: password
Email: [email protected]
Password: password
Email: [email protected]
Password: password
Setelah berhasil melakukan login, Anda dapat mencoba menambahkan stok awal produk, untuk selanjutnya melakukan pencatatan penjualan, alokasi, mutasi, dan retur.
Layanan di bawah ini tersedia pada aplikasi O-Stock.
Berikut ini adalah struktur table database untuk aplikasi O-Stock.
Pengguna yang terdaftar terdiri dari 2 jenis, yaitu role Pusat dan Cabang.
Pusat dapat melakukan:
Cabang dapat melakukan:
Teknologi dalam aplikasi ini: