{"id":14987295,"url":"https://github.com/josephines1/o-stock","last_synced_at":"2025-07-19T03:05:24.606Z","repository":{"id":251074849,"uuid":"836259090","full_name":"josephines1/o-stock","owner":"josephines1","description":"Aplikasi pengelolaan inventory barang yang dirancang menggunakan Framework PHP CodeIgniter 4, untuk memudahkan pengelolaan data stok dan penjualan di seluruh cabang perusahaan Anda.","archived":false,"fork":false,"pushed_at":"2024-08-05T15:32:44.000Z","size":5617,"stargazers_count":9,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-04-11T23:52:51.893Z","etag":null,"topics":["aplikasi-inventory","codeigniter4","inventory","inventory-management","kelola-stok","manajemen-barang","manajemen-stok","sistem-inventory","warehouse-management"],"latest_commit_sha":null,"homepage":"","language":"PHP","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/josephines1.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2024-07-31T13:24:19.000Z","updated_at":"2025-02-21T09:06:05.000Z","dependencies_parsed_at":"2024-09-25T00:32:15.553Z","dependency_job_id":null,"html_url":"https://github.com/josephines1/o-stock","commit_stats":{"total_commits":10,"total_committers":1,"mean_commits":10.0,"dds":0.0,"last_synced_commit":"d3ecd5560b319a7a31f20add0b3434b699fa5b03"},"previous_names":["josephines1/o-stock"],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/josephines1/o-stock","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/josephines1%2Fo-stock","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/josephines1%2Fo-stock/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/josephines1%2Fo-stock/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/josephines1%2Fo-stock/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/josephines1","download_url":"https://codeload.github.com/josephines1/o-stock/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/josephines1%2Fo-stock/sbom","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":265879311,"owners_count":23843091,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["aplikasi-inventory","codeigniter4","inventory","inventory-management","kelola-stok","manajemen-barang","manajemen-stok","sistem-inventory","warehouse-management"],"created_at":"2024-09-24T14:14:23.903Z","updated_at":"2025-07-19T03:05:24.578Z","avatar_url":"https://github.com/josephines1.png","language":"PHP","funding_links":["https://paypal.me/josephines24"],"categories":[],"sub_categories":[],"readme":"![O-Stock](https://github.com/josephines1/o-stock/blob/main/public/assets/img/readme/mockup_ostock.png \"O-Stock\")\n\n# O-Stock\n[![made-with-codeigniter4](https://img.shields.io/badge/Made%20with-CodeIgniter4-DD4814.svg)](https://www.codeigniter.com/) [![Open Source? Yes!](https://badgen.net/badge/Open%20Source%3F/Yes%21/blue?icon=github)](https://github.com/josephines1/o-stock)\n\n## O-Stock: Solusi Terbaik untuk Pengelolaan Stok Perusahaan Anda\nO-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.\n\n## Requirements\n\n- [Visual Studio Code](https://code.visualstudio.com/)\n- [Composer](https://getcomposer.org/)\n- [XAMPP 8.2.4 or later](https://www.apachefriends.org/download.html)\n\n## Versions \u0026 Features\n\nO-Stock hadir dalam dua versi: Free dan Premium. Berikut adalah perbedaan utama antara kedua versi tersebut:\n\n### Versi Free\n- **Pengelolaan Data Lengkap**: Kelola data konsumen, salesman, supplier, dan produk dengan mudah dan terintegrasi dalam satu platform.\n- **Stok Penjualan \u0026 Alokasi**: Pantau stok produk dan kelola alokasi dengan efisien.\n- **Cetak Invoice**: Buat dan cetak invoice penjualan dengan cepat dan akurat.\n- **Kartu Stok**: Tinjau stok produk saat ini untuk memastikan ketersediaan barang.\n\n### Versi Premium\n- **Mutasi Antar Cabang**: Kelola mutasi stok antar cabang dengan mudah untuk menjaga keseimbangan stok.\n- **Retur Penjualan**: Proses retur penjualan dengan fitur yang lengkap untuk memudahkan pengelolaan.\n- **Export Data**: Ekspor data ke Microsoft Excel untuk analisis lebih lanjut dan pelaporan.\n- **Histori Kartu Stok**: Lihat histori lengkap masuk dan keluarnya stok untuk pelacakan yang lebih baik.\n- **Notifikasi Email**: Dapatkan notifikasi penting melalui email untuk keamanan dan pemberitahuan akun.\n- **Pemulihan \u0026 Perubahan Akun**: Fitur pemulihan password dan perubahan email untuk kenyamanan pengguna.\n\n\u003e [!NOTE]\n\u003e Source Code O-Stock Versi Premium tersedia di [Karyakarsa](https://karyakarsa.com/josephines24/o-stock-website-program-stok-barang).\n\n## Getting Started\n\nAnda perlu melakukan sedikit konfigurasi di bawah ini sebelum mulai menjalankan web O-Stock:\n1. Unduh file ZIP source code o-stock atau jalankan perintah berikut di terminal Anda:\n   ```console\n   git clone https://github.com/josephines1/o-stock.git\n   ```\n\n2. Ekstrak file ZIP dan letakkan folder o-stock di dalam folder htdocs (misalnya D:\\xampp\\htdocs).\n\n3. Buka folder o-stock di Visual Studio Code.\n\n4. Di Visual Studio Code, buka terminal dengan memilih `Terminal \u003e New Terminal` di menu bagian atas, atau tekan ctrl + `\n   \n5. Jalankan perintah berikut untuk menginstal package yang dibutuhkan:\n   ```console\n   composer install\n   ```\n   \n6. Setelah instalasi selesai, salin file `env` dan beri nama menjadi `.env`\n   - Atur nama aplikasi:\n     ```\n     APP_NAME = \"Nama Aplikasi\"\n     ```\n     \n   - Ubah environment menjadi development:\n     ```\n     CI_ENVIRONMENT = development\n     ```\n\n   - Atur Base URL:\n     ```\n     app.baseURL = 'http://localhost:8080/'\n     ```\n     \n   - Konfirgurasikan database. Sesuaikan dengan database milik Anda:\n     ```\n     database.default.hostname = localhost\n     database.default.database = o-stock\n     database.default.username = root\n     database.default.password = \n     database.default.DBDriver = MySQLi\n     database.default.DBPrefix =\n     database.default.port = 3306\n     ```\n\n   - Pastikan tidak ada tanda \"#\" pada baris yang telah dikonfigurasi.\n     \n7. Buka file `vendor\\myth\\auth\\src\\Filters\\RoleFilter.php`. Modifikasi function `before` (baris 18 - 46) menjadi seperti berikut ini.\n   ```\n   public function before(RequestInterface $request, $arguments = null)\n    {\n        /* \n        * Jika tidak ada pengguna yang login, arahkan mereka ke formulir login.\n        */\n        if (!$this-\u003eauthenticate-\u003echeck()) {\n            session()-\u003eset('redirect_url', current_url());\n            return redirect($this-\u003ereservedRoutes['login']);\n        }\n\n        /* \n        * Jika tidak ada argumen yang diberikan, lanjutkan ke proses berikutnya.\n        */\n        if (empty($arguments)) {\n            return;\n        }\n\n        /* \n        * Periksa setiap izin yang diminta\n        */\n        foreach ($arguments as $group) {\n            /* \n            * Jika pengguna berada dalam grup yang memiliki izin, lanjutkan.\n            */\n            if ($this-\u003eauthorize-\u003einGroup($group, $this-\u003eauthenticate-\u003eid())) {\n                return;\n            }\n        }\n\n        /* \n        * Jika pengguna tidak memiliki izin dan loginnya bersifat senyap (silent login)\n        */\n        if ($this-\u003eauthenticate-\u003esilent()) {\n            /* \n            * Arahkan ke URL yang tersimpan di sesi atau ke URL landing\n            */\n            $redirectURL = session('redirect_url') ?? route_to($this-\u003elandingRoute);\n            unset($_SESSION['redirect_url']);\n            return redirect()-\u003eto($redirectURL)-\u003ewith('error', lang('Auth.notEnoughPrivilege'));\n        }\n\n        /* \n        * Jika pengguna tidak memiliki izin dan login tidak bersifat senyap, arahkan ke halaman utama\n        */\n        return redirect()-\u003eto(base_url());\n    }\n   ```\n     \n8. Buka file `vendor\\myth\\auth\\src\\Config\\Auth.php`.\n    - Atur defaultUserGroup (baris 19)\n      ```\n      public $defaultUserGroup = 'cabang';\n      ```\n      \n    - Atur tampilan auth (baris 76 - 83)\n      ```\n      public $views = [\n        'login'           =\u003e 'App\\Views\\auth\\login',\n        'register'        =\u003e 'Myth\\Auth\\Views\\register',\n        'forgot'          =\u003e 'Myth\\Auth\\Views\\forgot',\n        'reset'           =\u003e 'Myth\\Auth\\Views\\reset',\n        'emailForgot'     =\u003e 'Myth\\Auth\\Views\\emails\\forgot',\n        'emailActivation' =\u003e 'Myth\\Auth\\Views\\emails\\activation',\n      ];\n      ```\n    - Atur activeResetter (baris 201)\n      ```\n      public $activeResetter = null;\n      ```\n    \n9. Buka XAMPP Control Panel Anda dan start server Apache dan MySQL.\n    \n10. Buka `localhost/phpmyadmin` di browser, lalu buat database baru dengan nama `o-stock` atau sesuaikan dengan nama database yang Anda inginkan.\n\n11. Buka kembali terminal di Visual Studio Code, jalankan perintah migrate dan seed.\n    - Migrate\n      ```console\n      php spark migrate -2024-07-27-125132_create_ostock_tables\n      php spark migrate -2024-07-27-134447_create_auth_tables\n      ```\n\n    - Seed\n      ```console\n      php spark db:seed KantorSeeder\n      php spark db:seed SalesmanSeeder\n      php spark db:seed KonsumenSeeder\n      php spark db:seed SupplierSeeder\n      php spark db:seed KategoriProdukSeeder\n      php spark db:seed ProdukSeeder\n      php spark db:seed UserSeeder\n      php spark db:seed AuthGroupsSeeder\n      php spark db:seed AuthGroupsUsersSeeder\n      ```\n\n12. Mulai server dengan menjalankan perintah berikut ini di terminal.\n    ```console\n    php spark serve\n    ```\n      \n13. Selesai! Akses web melalui `http://localhost:8080`.\n\n## First Usage\n\n### Login\nSetelah melakukan instalasi dan konfigurasi O-Stock, Anda dapat melakukan login pada aplikasi dengan email dan password sebagai berikut.\n\n#### Pusat\n```\nEmail: pusat@example.com\nPassword: password\n```\n\n#### Cabang 1\n```\nEmail: cabang1@example.com\nPassword: password\n```\n\n#### Cabang 2\n```\nEmail: cabang2@example.com\nPassword: password\n```\n\n### Tambahkan Stok Awal\nSetelah berhasil melakukan login, Anda dapat mencoba menambahkan stok awal produk, untuk selanjutnya melakukan pencatatan penjualan, alokasi, mutasi, dan retur.\n\n## Services\n\nLayanan di bawah ini tersedia pada aplikasi O-Stock.\n\n### Layanan Utama\n\n#### Pengelolaan Data\n- Kelola data konsumen, salesman, supplier, kantor \u0026 cabang, kategori produk, dan produk dengan mudah dalam satu platform terintegrasi.\n\n#### Pengelolaan Stok dalam Penjualan, Alokasi, Mutasi, dan Retur\n- Atur stok produk untuk penjualan, alokasi, mutasi antar cabang, dan proses retur penjualan dengan efisien.\n\n#### Cetak Invoice\n- Fitur untuk mencetak invoice dari penjualan yang telah tercatat sehingga memudahkan pembuatan dan pengelolaan dokumen penjualan yang akurat.\n\n#### Kartu Stok\n- Tinjau dan pantau histori masuk dan keluarnya stok untuk memastikan transparansi dan akurasi dalam pengelolaan stok dengan riwayat yang lengkap.\n\n#### Export Data Histori Stok ke Microsoft Excel\n- Ekspor data histori stok ke format Excel untuk pelaporan dan analisis lebih lanjut.\n\n#### Menambahkan User tanpa Batas\n- Tambah akun pengguna tanpa batas, baik untuk pusat maupun cabang.\n\n#### Kelola Profil\n- Ubah foto profil, username, nama, dan informasi profil lainnya.\n\n#### Lupa \u0026 Ubah Password\n- Fitur untuk memulihkan password dan mengubah password melalui halaman profil sehingga dapat meningkatkan keamanan dan kemudahan akses akun pengguna.\n\n#### Ubah Email\n- Ubah alamat email dengan verifikasi melalui sistem email sehingga memastikan email pengguna selalu diperbarui dan akurat untuk komunikasi dan pemulihan akun.\n\n### Versi Free\n- Pengelolaan data\n- Stok dalam penjualan dan alokasi\n- Cetak invoice\n- Kartu stok saat ini\n- Menambahkan user tanpa limit\n- Kelola profil\n- Ubah password\n\n### Versi Premium\n- Mutasi antar cabang\n- Retur penjualan\n- Export data ke Microsoft Excel\n- Kartu stok dengan histori\n- Integrasi notifikasi email\n- Fitur pemulihan password melalui email\n- Ubah email dengan verifikasi\n\n## Database\nBerikut ini adalah struktur table database untuk aplikasi O-Stock.\n![O-Stock Database](https://github.com/josephines1/o-stock/blob/main/public/assets/img/readme/db_ostock.png \"O-Stock\")\n\n## Multilevel Auth\n\nPengguna yang terdaftar terdiri dari 2 jenis, yaitu role Pusat dan Cabang.\n- Pusat dapat melakukan:\n    - Lihat, Tambah, Edit, dan Hapus Data Salesman, Konsumen, Pusat \u0026 Cabang, dan User.\n    - Lihat, Tambah, Edit, dan Hapus Data Supplier, Kategori Produk, dan Produk.\n    - Lihat Data Penjualan.\n    - Lihat, Tambah, dan Edit Data Alokasi.\n    - Lihat Data Mutasi.\n    - Lihat Data Retur.\n    - Lihat Kartu Stok dan Tambah \u0026 Edit Data Stok Awal Produk.\n    - Kelola Profil.\n\n- Cabang dapat melakukan:\n    - Lihat dan Tambah Data Salesman.\n    - Lihat, Tambah, dan Edit Data Konsumen.\n    - Lihat Data Supplier, Kategori Produk, dan Produk.\n    - Lihat dan Tambah Data Penjualan.\n    - Lihat, Tambah, dan Update Status Data Mutasi.\n    - Lihat dan Tambah Data Retur.\n    - Lihat Kartu Stok.\n    - Kelola Profil.\n\n## Tech\n\nTeknologi dalam aplikasi ini:\n- [CodeIgniter 4](https://www.codeigniter.com/) - a flexible application development framework.\n- [Myth/Auth](https://github.com/lonnieezell/myth-auth) - a flexible, Powerful, Secure auth package for CodeIgniter 4.\n- [Tabler.io](https://tabler.io/) - a free and open source web application UI kit based on Bootstrap 5.\n- [jQuery](https://jquery.com/) - a fast, small, and feature-rich JavaScript library.\n\n## Support\n\n[![PayPal](https://img.shields.io/badge/PayPal-00457C?style=for-the-badge\u0026logo=paypal\u0026logoColor=white)](https://paypal.me/josephines24)\n[![KaryaKarsa](https://image.typedream.com/cdn-cgi/image/width=120,format=auto,fit=scale-down,quality=100/https://api.typedream.com/v0/document/public/07480db4-7b4e-4309-9be2-b4e218db150e/2IGRM5CUZESdabtjezsFTWnWFVR_karyakarsa-logo-white.png?bucket=document)](https://karyakarsa.com/josephines24)\n\n## Credits\n\n\u003e Made by [Josephine](https://josephines1.github.io/).\n\u003e Template by [tabler.io](tabler.io)\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fjosephines1%2Fo-stock","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fjosephines1%2Fo-stock","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fjosephines1%2Fo-stock/lists"}