docs: banner, screenshot, dan berkas komunitas (CONTRIBUTING, CODE_OF_CONDUCT, SECURITY, CHANGELOG, template issue/PR)
No files matched your search
@@ -0,0 +1,49 @@
|
||||
name: "\U0001F41E Laporan Bug"
|
||||
description: Laporkan bug atau perilaku tak terduga
|
||||
title: "[Bug] "
|
||||
labels: ["bug"]
|
||||
body:
|
||||
- type: markdown
|
||||
attributes:
|
||||
value: |
|
||||
Terima kasih sudah melaporkan! Isi sedetail mungkin.
|
||||
Untuk masalah **keamanan**, gunakan tab Security (lihat SECURITY.md), **jangan** issue publik.
|
||||
- type: textarea
|
||||
id: deskripsi
|
||||
attributes:
|
||||
label: Deskripsi bug
|
||||
description: Apa yang terjadi?
|
||||
validations:
|
||||
required: true
|
||||
- type: textarea
|
||||
id: langkah
|
||||
attributes:
|
||||
label: Langkah reproduksi
|
||||
placeholder: |
|
||||
1. Buka '...'
|
||||
2. Klik '...'
|
||||
3. Terjadi error
|
||||
validations:
|
||||
required: true
|
||||
- type: textarea
|
||||
id: harapan
|
||||
attributes:
|
||||
label: Perilaku yang diharapkan
|
||||
validations:
|
||||
required: true
|
||||
- type: input
|
||||
id: versi
|
||||
attributes:
|
||||
label: Versi / commit
|
||||
placeholder: "0.5.0 / SHA"
|
||||
- type: dropdown
|
||||
id: lingkungan
|
||||
attributes:
|
||||
label: Cara menjalankan
|
||||
options: ["Docker", "Manual (Node.js)", "PM2", "Lainnya"]
|
||||
validations:
|
||||
required: true
|
||||
- type: textarea
|
||||
id: log
|
||||
attributes:
|
||||
label: Log / screenshot (opsional)
|
||||
@@ -0,0 +1,8 @@
|
||||
blank_issues_enabled: true
|
||||
contact_links:
|
||||
- name: "\U0001F4DA Wiki & Dokumentasi"
|
||||
url: https://github.com/oxpoe/open-isp/wiki
|
||||
about: Panduan instalasi, konfigurasi, FAQ, dan troubleshooting
|
||||
- name: "\U0001F4AC Tanya Jawab"
|
||||
url: https://github.com/oxpoe/open-isp/issues
|
||||
about: Ajukan pertanyaan umum seputar OPEN-ISP
|
||||
@@ -0,0 +1,26 @@
|
||||
name: "\u2728 Permintaan Fitur"
|
||||
description: Usulkan ide atau fitur baru
|
||||
title: "[Fitur] "
|
||||
labels: ["enhancement"]
|
||||
body:
|
||||
- type: textarea
|
||||
id: masalah
|
||||
attributes:
|
||||
label: Masalah / kebutuhan
|
||||
description: Fitur ini menyelesaikan masalah apa?
|
||||
validations:
|
||||
required: true
|
||||
- type: textarea
|
||||
id: solusi
|
||||
attributes:
|
||||
label: Usulan solusi
|
||||
validations:
|
||||
required: true
|
||||
- type: textarea
|
||||
id: alternatif
|
||||
attributes:
|
||||
label: Alternatif yang dipertimbangkan (opsional)
|
||||
- type: textarea
|
||||
id: konteks
|
||||
attributes:
|
||||
label: Konteks tambahan (opsional)
|
||||
@@ -0,0 +1,21 @@
|
||||
## Deskripsi
|
||||
|
||||
<!-- Jelaskan perubahan & alasannya -->
|
||||
|
||||
## Jenis Perubahan
|
||||
|
||||
- [ ] Bug fix
|
||||
- [ ] Fitur baru
|
||||
- [ ] Dokumentasi
|
||||
- [ ] Refactor/perbaikan
|
||||
|
||||
## Cara Menguji
|
||||
|
||||
<!-- Langkah-langkah menguji perubahan -->
|
||||
|
||||
## Checklist
|
||||
|
||||
- [ ] Sudah diuji lokal (Docker / `npm start`)
|
||||
- [ ] Tidak menyertakan rahasia (`settings.json`, `.env`, `database/`, `uploads/`)
|
||||
- [ ] Mengikuti gaya kode & struktur proyek
|
||||
- [ ] Setuju rilis di bawah lisensi ISC
|
||||
@@ -0,0 +1,25 @@
|
||||
# Changelog
|
||||
|
||||
Format mengikuti [Keep a Changelog](https://keepachangelog.com/) dan [Semantic Versioning](https://semver.org/).
|
||||
|
||||
## [0.5.0] — 2026-10-09 — "pickle-lime"
|
||||
|
||||
Rilis open-source perdana.
|
||||
|
||||
### Ditambahkan
|
||||
- Billing otomatis, isolir otomatis, pengingat WhatsApp, jam kalong, FUP, sinkron pemakaian.
|
||||
- Multi-router MikroTik (PPPoE & hotspot), voucher hotspot, backup konfigurasi.
|
||||
- Multi-vendor OLT (Hioso/HSGQ via SNMP; ZTE/Huawei via CLI) + `scripts/olt-probe.js`.
|
||||
- TR-069: ACS bawaan (built-in) + integrasi GenieACS.
|
||||
- RADIUS (PAP/CHAP) untuk PPPoE/hotspot.
|
||||
- Peta jaringan (Leaflet) admin & teknisi, ODP, jalur kabel.
|
||||
- Portal: admin, kasir, teknisi, kolektor, pelanggan (PWA, offline).
|
||||
- Notifikasi WhatsApp (GoWA/Baileys) & Telegram.
|
||||
- Pembayaran QRIS + webhook, kode unik, gateway opsional.
|
||||
- Antarmuka bilingual Indonesia/English.
|
||||
- Docker (Dockerfile + docker-compose), data demo (`scripts/seed-demo.js`).
|
||||
- Lisensi ISC + Wiki dokumentasi.
|
||||
|
||||
### Kredit
|
||||
- Base kode & repo: [alijayanet/billing-rtrw](https://github.com/alijayanet/billing-rtrw) oleh **Alijaya Net**.
|
||||
- Dikembangkan menjadi OPEN-ISP oleh [oxpoe](https://github.com/oxpoe).
|
||||
@@ -0,0 +1,35 @@
|
||||
# Kode Etik Kontributor
|
||||
|
||||
## Janji Kami
|
||||
|
||||
Demi mendorong lingkungan yang terbuka dan ramah, kami sebagai kontributor dan pengelola berjanji menjadikan partisipasi dalam proyek ini bebas dari pelecehan bagi semua orang, tanpa memandang usia, ukuran tubuh, disabilitas, etnis, identitas dan ekspresi gender, tingkat pengalaman, kebangsaan, penampilan, ras, agama, atau identitas dan orientasi seksual.
|
||||
|
||||
## Standar Kami
|
||||
|
||||
Contoh perilaku yang membangun:
|
||||
|
||||
- Menggunakan bahasa yang ramah dan inklusif.
|
||||
- Menghormati perbedaan pendapat dan pengalaman.
|
||||
- Menerima kritik konstruktif dengan baik.
|
||||
- Fokus pada apa yang terbaik bagi komunitas.
|
||||
|
||||
Contoh perilaku yang tidak dapat diterima:
|
||||
|
||||
- Komentar yang melecehkan, menghina, atau merendahkan.
|
||||
- Pelecehan publik maupun pribadi.
|
||||
- Mempublikasikan informasi pribadi orang lain tanpa izin.
|
||||
- Perilaku lain yang wajar dianggap tidak pantas dalam lingkungan profesional.
|
||||
|
||||
## Tanggung Jawab Pengelola
|
||||
|
||||
Pengelola berhak menghapus, mengubah, atau menolak komentar, commit, kode, dan kontribusi yang tidak sesuai dengan Kode Etik ini, serta berhak memblokir kontributor yang berperilaku tidak pantas.
|
||||
|
||||
## Cakupan
|
||||
|
||||
Kode Etik ini berlaku di seluruh ruang proyek (repositori, issues, PR) dan saat seseorang mewakili proyek di ruang publik.
|
||||
|
||||
## Penegakan
|
||||
|
||||
Perilaku yang tidak dapat diterima dapat dilaporkan kepada pengelola melalui **GitHub** (buat issue privat/mention `@oxpoe`). Semua laporan akan ditinjau dan ditangani secara adil dan rahasia.
|
||||
|
||||
Teks ini diadaptasi dari [Contributor Covenant](https://www.contributor-covenant.org), versi 2.1.
|
||||
@@ -0,0 +1,36 @@
|
||||
# Kontribusi ke OPEN-ISP
|
||||
|
||||
Terima kasih sudah tertarik berkontribusi! 🎉
|
||||
|
||||
## Cara Berkontribusi
|
||||
|
||||
1. **Fork** repositori ini.
|
||||
2. Buat **branch** baru: `git checkout -b fitur/nama-fitur`.
|
||||
3. Lakukan perubahan + uji.
|
||||
4. **Commit**: `git commit -m "feat: deskripsi singkat"`.
|
||||
5. **Push** branch & buka **Pull Request**.
|
||||
|
||||
## Aturan
|
||||
|
||||
- Ikuti gaya kode & struktur yang ada (Express/EJS, service di `services/`, route di `routes/`).
|
||||
- Bahasa commit/PR boleh Indonesia atau Inggris.
|
||||
- **Jangan pernah** meng-commit `settings.json`, `.env`, `database/`, `logs/`, `uploads/`, `baileys/`, atau berkas berisi data pelanggan/rahasia.
|
||||
- Untuk perubahan besar, buka **Issue** dulu untuk didiskusikan.
|
||||
- Sertakan cara menguji di deskripsi PR.
|
||||
|
||||
## Uji Lokal
|
||||
|
||||
```bash
|
||||
docker compose up -d --build
|
||||
# atau
|
||||
npm ci --omit=dev && npm start
|
||||
node scripts/seed-demo.js # data demo
|
||||
```
|
||||
|
||||
## Melaporkan Bug & Fitur
|
||||
|
||||
Gunakan template di tab **Issues**. Untuk celah keamanan, lihat [SECURITY.md](SECURITY.md).
|
||||
|
||||
## Lisensi Kontribusi
|
||||
|
||||
Dengan berkontribusi, Anda menyetujui kontribusi Anda dirilis di bawah lisensi **[ISC](LICENSE)** proyek ini.
|
||||
@@ -1,5 +1,5 @@
|
||||
<p align="center">
|
||||
<img src="public/img/openisp-logo.svg" alt="OPEN-ISP" width="340">
|
||||
<img src="docs/assets/banner.png" alt="OPEN-ISP" width="100%">
|
||||
</p>
|
||||
|
||||
<p align="center">
|
||||
@@ -11,12 +11,15 @@
|
||||
<img src="https://img.shields.io/badge/lisensi-ISC-ADFF2F" alt="Lisensi: ISC">
|
||||
<img src="https://img.shields.io/badge/versi-0.5_pickle--lime-ADFF2F" alt="Versi 0.5 (pickle-lime)">
|
||||
<img src="https://img.shields.io/badge/Node.js-%E2%89%A520-339933" alt="Node.js >= 20">
|
||||
<img src="https://img.shields.io/badge/docker" alt="docker">
|
||||
<img src="https://img.shields.io/badge/docker-ready-2496ED?logo=docker&logoColor=white" alt="Docker">
|
||||
<img src="https://img.shields.io/github/stars/oxpoe/open-isp?style=flat" alt="Stars">
|
||||
<img src="https://img.shields.io/github/forks/oxpoe/open-isp?style=flat" alt="Forks">
|
||||
<img src="https://img.shields.io/github/issues/oxpoe/open-isp?style=flat" alt="Issues">
|
||||
</p>
|
||||
|
||||
---
|
||||
|
||||
**OPEN-ISP** adalah aplikasi billing dan manajemen ISP yang lengkap: tagihan otomatis, isolir otomatis, pembayaran (QRIS/webhook), perangkat MikroTik (PPPoE & hotspot), OLT PON multi-vendor, TR-069 (GenieACS/ACS), RADIUS, peta jaringan, notifikasi WhatsApp & Telegram, hingga portal self-service pelanggan dalam satu platform — semuanya berjalan mandiri (self-hosted) dengan SQLite sebagai basis data. NOTE : **DIBUAT DAN DI TULIS OLEH AI"
|
||||
**OPEN-ISP** adalah aplikasi billing dan manajemen ISP yang lengkap: tagihan otomatis, isolir otomatis, pembayaran (QRIS/webhook), perangkat MikroTik (PPPoE & hotspot), OLT PON multi-vendor, TR-069 (GenieACS/ACS), RADIUS, peta jaringan, notifikasi WhatsApp & Telegram, hingga portal self-service pelanggan dalam satu platform — semuanya berjalan mandiri (self-hosted) dengan SQLite sebagai basis data. **NOTE:** dibuat dan ditulis oleh AI (DeepSeek V4.1 Flash — max, on opencode).
|
||||
|
||||
## Fitur
|
||||
|
||||
@@ -34,6 +37,25 @@
|
||||
- **Bilingual** — antarmuka Indonesia / English (bisa diganti dari UI).
|
||||
- **Lain-lain** — inventaris gudang, tiket dukungan, laporan, monitoring sistem (CPU/RAM/disk), ODP, backup/restore database, audit log.
|
||||
|
||||
## Tangkapan Layar
|
||||
|
||||
<table>
|
||||
<tr>
|
||||
<td align="center"><b>Dashboard Admin</b><br><img src="docs/screenshots/admin-dashboard.jpg" width="420"></td>
|
||||
<td align="center"><b>Data Pelanggan</b><br><img src="docs/screenshots/admin-customers.jpg" width="420"></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td align="center"><b>Tagihan & Pembayaran</b><br><img src="docs/screenshots/admin-billing.jpg" width="420"></td>
|
||||
<td align="center"><b>OLT (PON)</b><br><img src="docs/screenshots/admin-olts.jpg" width="420"></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td align="center"><b>Portal Pelanggan (PWA)</b><br><img src="docs/screenshots/customer-dashboard.jpg" width="250"></td>
|
||||
<td align="center"><b>Tagihan Pelanggan</b><br><img src="docs/screenshots/customer-billing.jpg" width="250"></td>
|
||||
</tr>
|
||||
</table>
|
||||
|
||||
Selengkapnya: **[Wiki OPEN-ISP](https://github.com/oxpoe/open-isp/wiki)**.
|
||||
|
||||
## Mulai Cepat
|
||||
|
||||
### Docker (disarankan)
|
||||
|
||||
@@ -0,0 +1,23 @@
|
||||
# Kebijakan Keamanan
|
||||
|
||||
## Versi yang Didukung
|
||||
|
||||
| Versi | Didukung |
|
||||
|---|---|
|
||||
| 0.5.x | ✅ |
|
||||
|
||||
## Melaporkan Kerentanan
|
||||
|
||||
**Jangan** membuka Issue publik untuk masalah keamanan.
|
||||
|
||||
Gunakan tab **Security → Report a vulnerability** (GitHub Security Advisories) pada repositori ini, atau hubungi pengelola secara privat melalui GitHub.
|
||||
|
||||
Sertakan: deskripsi, langkah reproduksi, dampak, dan (bila ada) saran perbaikan. Kami akan berusaha merespons secepatnya.
|
||||
|
||||
## Praktik Aman
|
||||
|
||||
- Ganti `session_secret` dan password admin default.
|
||||
- Jangan pernah meng-commit `settings.json`, `.env`, `database/`, `uploads/`.
|
||||
- Jalankan di belakang HTTPS/reverse proxy untuk produksi.
|
||||
|
||||
Selengkapnya: [Wiki — Keamanan](https://github.com/oxpoe/open-isp/wiki/Keamanan).
|
||||
|
After Width: | Height: | Size: 55 KiB |
|
After Width: | Height: | Size: 86 KiB |
|
After Width: | Height: | Size: 87 KiB |
|
After Width: | Height: | Size: 80 KiB |
|
After Width: | Height: | Size: 33 KiB |
|
After Width: | Height: | Size: 55 KiB |
|
After Width: | Height: | Size: 37 KiB |
|
After Width: | Height: | Size: 99 KiB |
|
After Width: | Height: | Size: 66 KiB |
|
After Width: | Height: | Size: 83 KiB |