ESP32-S3 Bench Guide
ESP32-S3 N16R8 bench guide: live pinout, lessons, simulators and the bench log.
翻譯準備中
尚未偵測到更新。GitHub 發布版本後會顯示在這裡。
個人 GitHub 帳號下公開儲存庫的擁有者可以登入並驗證所有權,自行管理介紹,無需管理員核准。
登入並產生驗證檔案,在 30 分鐘內將其提交至此儲存庫的預設分支。其他分支或分叉儲存庫中的檔案無效。然後在下方檢查檔案,即可無需管理員核准直接管理專案。請保留檔案以維持管理權限。
如需登入,將前往登入頁面。登入後請回到此處,再次點擊所選的驗證按鈕。
在專案資料夾中執行 /nomorevibe verify,即可驗證所有權並自行管理介紹。
一分鐘完成驗證正在載入完整 README。 以下為已儲存的摘錄。
e-Rapor — Solusi Digital Pengelolaan Rapor Sekolah Aplikasi e-Rapor untuk sekolah. Identitas sekolah diisi sendiri oleh setiap sekolah pada Setup Awal. Frontend yang sama digunakan untuk web/PWA, Android melalui Capacitor, dan Windows melalui Electron. Data disimpan lokal pada browser atau WebView perangkat; aplikasi tidak memakai Supabase, Firebase, atau layanan cloud. Sinkronisasi Dapodik tersedia khusus pada aplikasi Windows dan menghubungi layanan Dapodik lokal di komputer sekolah, bukan layanan internet.檢視完整 README ↗
Aplikasi e-Rapor untuk sekolah. Identitas sekolah diisi sendiri oleh setiap sekolah pada Setup Awal. Frontend yang sama digunakan untuk web/PWA, Android melalui Capacitor, dan Windows melalui Electron. Data disimpan lokal pada browser atau WebView perangkat; aplikasi tidak memakai Supabase, Firebase, atau layanan cloud. Sinkronisasi Dapodik tersedia khusus pada aplikasi Windows dan menghubungi layanan Dapodik lokal di komputer sekolah, bukan layanan internet.
Folder design_reference/, docs/, tests/, dan src/ merupakan bagian project dan tidak boleh dihapus.
npm install
npm run check
npm test
npm run start
Buka http://localhost:4173. Untuk membuat paket web statis di folder dist/:
npm run build
Tidak ada password Admin default di source. Jika lupa password, gunakan kode recovery lokal. Recovery menghasilkan kode baru dan membuat kode lama tidak berlaku.
Tersedia 24 akun Guru1A sampai Guru6D. Credential bootstrap mengikuti rombel, misalnya:
Guru1AKelas1aGuru harus mengganti password awal melalui Profile atau Pengaturan Akun. Admin dapat mereset password Guru melalui Data Pengguna; password sementara hanya ditampilkan sekali. Admin juga dapat menonaktifkan akun Guru.
Cover rapor memakai dua logo sesuai format resmi: logo Tut Wuri Handayani di atas judul SEKOLAH DASAR ( SD ) dan lambang kota/kabupaten di bawahnya. Logo diambil berurutan dari:
assets/:assets/logo-tut-wuri-handayani.png
assets/logo-kabupaten-bekasi.png
Salin kedua file logo dengan nama persis seperti di atas ke folder assets/, lalu jalankan npm run build (dan npm run cap:android untuk Android). Format PNG atau JPG; gunakan gambar persegi untuk Tut Wuri Handayani dan gambar tegak (lebih tinggi daripada lebar) untuk lambang daerah. Proporsi asli tetap terjaga karena slot memakai object-fit: contain.
Selama file belum tersedia dan Admin belum mengunggah logo, slot hanya menampilkan penanda di layar dan tidak ikut tercetak.
Simpan file backup secara berkala di media lain. Menghapus data aplikasi/browser juga menghapus data lokal dan snapshot yang belum diekspor.
Project Android tersedia di folder android/ dengan App ID:
id.sch.sdn.satriajaya01.erapor
Setiap kali frontend berubah, build dan sinkronkan:
npm run cap:android
Buka Android Studio dengan salah satu cara:
npm run open:android
atau buka folder android/ langsung dari Android Studio. Pilih emulator/perangkat Android API 24 atau lebih baru, tunggu Gradle sync, lalu tekan Run. Icon, splash screen, status bar, navigation bar, safe-area, serta aset web offline sudah dikonfigurasi.
Untuk build command-line apabila Android SDK/JDK sudah tersedia:
cd android
gradlew.bat assembleDebug
Identitas produksi permanen aplikasi adalah id.sch.sdn.satriajaya01.erapor. Jangan pernah mengganti applicationId tersebut dan jangan mendistribusikan APK debug.
Build release membaca credential dari android/signing.properties, yang sudah diabaikan Git. Template tanpa rahasia tersedia di android/signing.properties.example. Keystore dan password harus berada di luar repository, disimpan terpisah, dan seluruh update wajib menggunakan keystore yang sama.
Untuk instalasi signing pertama kali, generator lokal dapat membuat keystore, credential terpisah, dan android/signing.properties tanpa menampilkan password ke terminal:
node scripts/generate-release-signing.mjs --output 'D:\Backup-Keystore-eRapor' --properties "$PWD\android\signing.properties" --keytool 'C:\Program Files\Android\Android Studio1\jbr\bin\keytool.exe'
Jangan jalankan generator lagi setelah APK produksi dibagikan. Pulihkan keystore dan credential yang sama dari backup untuk seluruh update berikutnya.
$env:JAVA_HOME = 'C:\Program Files\Android\Android Studio1\jbr'
npm run cap:android
cd android
.\gradlew.bat assembleRelease
Rilis Tahap 14 menggunakan versionName 1.1.0, versionCode 3, dan schemaVersion 3. Naikkan versionCode pada setiap rilis; nilainya tidak boleh pernah sama atau lebih kecil daripada APK yang sudah terpasang. Untuk build terkontrol tanpa mengubah default source:
.\gradlew.bat assembleRelease '-PERAPOR_VERSION_CODE=4' '-PERAPOR_VERSION_NAME=1.1.1'
Selaraskan juga APP_VERSION dan VERSION_CODE di src/data/version.js sebelum rilis update, agar halaman Pengaturan → Tentang Aplikasi menampilkan versi APK yang sama. Jangan pernah menurunkan versionCode.
appSchemaVersion dan appVersion terpisah dari format backup.Backup keystore wajib dilakukan sebelum distribusi:
keytool -list -v -keystore <keystore>.Kehilangan keystore atau password membuat APK berikutnya tidak dapat dipasang sebagai update di atas versi lama.
Versi Windows menggunakan source frontend dan format data lokal yang sama tanpa menduplikasi modul aplikasi. Dialog buka/simpan file serta Cetak/Simpan PDF menggunakan bridge native Electron.
Jalankan aplikasi desktop untuk pengembangan:
npm run desktop:start
Buat installer Windows:
npm run desktop:make
Installer Squirrel tersedia di out/make/squirrel.windows/x64/. Installer rilis yang siap disalin berada di folder release/. Data desktop disimpan di direktori data aplikasi Windows dan dipertahankan saat aplikasi diperbarui.
Menu Dapodik hanya berfungsi pada aplikasi Windows, karena Dapodik berjalan sebagai layanan lokal di komputer sekolah. Pada web/PWA dan Android menu tetap terlihat, tetapi hanya menampilkan arahan memakai Windows dan tidak pernah menghubungi jaringan.
safeStorage Electron di direktori data aplikasi,
tidak pernah masuk penyimpanan browser, backup, log, atau pesan kesalahan, dan tidak pernah
dikembalikan ke halaman.Langkah lengkap beserta urutan pengamanannya ada di
docs/operator/dapodik-windows.md.
Project iOS Capacitor tersedia di folder ios/ dan menggunakan Swift Package Manager. Sinkronkan frontend dengan:
npm run cap:ios
Build iOS hanya dapat dilakukan pada macOS dengan Xcode 26 atau lebih baru:
npm run open:ios
Pilih signing team dan provisioning profile di Xcode sebelum menjalankan aplikasi pada simulator/perangkat. Deployment target minimum adalah iOS 15.
npm run check # Pemeriksaan sintaks source
npm test # Automated test
npm run build # Build web ke dist/
npm run cap:sync # Build web dan sinkronkan Android+iOS
npm run cap:android # Build dan sinkronkan Android
npm run cap:ios # Build dan sinkronkan iOS
npm run desktop:start # Jalankan desktop Windows
npm run desktop:make # Build installer Windows