🚀 Kumpulan Proyek, Praktikum, Eksperimen UI/UX, dan Integrasi Backend (React Native & Mobile App Development)
Selamat datang di ruang kerja (workspace) utama React Native milik Anwar Rohmadi. Repositori ini bukan sekadar tempat penyimpanan kode, melainkan sebuah Jurnal Pembelajaran dan Portofolio Hidup yang berfungsi sebagai monorepo komprehensif. Mulai dari dasar-dasar komponen UI hingga aplikasi dengan integrasi backend yang kompleks, semuanya terdokumentasi dan diatur secara rapi di sini.
Tujuan Repositori:
Pengembangan dalam repositori ini menitikberatkan pada alat dan teknologi berikut:
Setiap folder praktikum-p{X} mewakili tahapan logika kurikulum (milestone). Berikut adalah rinciannya:
| Modul | Folder Proyek | Pokok Bahasan & Capaian Pembelajaran | Tingkat Kesulitan |
|---|---|---|---|
| P1 | praktikum-rn-1 | Fundamental Dasar: Pengenalan struktur Expo, View, Text, Image, pengenalan Props dan State. Output: Counter App Dasar. | 🟢 Pemula |
| P2 | praktikum-p2 | Layouting: Penguasaan Flexbox (justifyContent, alignItems), Margin & Padding, serta Event Handling dasar pada komponen sentuh. | 🟢 Pemula |
| P3 | praktikum-p3 | List & Scrolling: Implementasi ScrollView dan FlatList untuk rendering data dalam jumlah besar secara efisien. | 🟢 Pemula |
| P4 | praktikum-p4 | Navigasi Dasar: Pengenalan React Navigation, transisi antar halaman (Stack Navigator), dan pengiriman parameter antar layar. | 🟡 Menengah |
| P5 | praktikum-p5 | Navigasi Lanjutan: Menggabungkan Stack Navigator dengan Tab Navigator, pembuatan antarmuka navigasi bawah (Bottom Tabs). | 🟡 Menengah |
| P6 | praktikum-p6 | Global State & Lifecycle: Pemahaman mendalam tentang Component Lifecycle dan pengelolaan state yang melintasi multi-komponen. | 🟡 Menengah |
| P7 | praktikum-p7 | Integrasi API: Fetch Data, Asynchronous UI (Loading & Error state), Polling data berkala, dan teknik optimasi pencarian (Debouncing). | 🟠 Mahir |
| P8 | praktikum-p8 | Database Lokal: Menyimpan preferensi pengguna dan cache aplikasi secara persisten menggunakan AsyncStorage / SQLite. | 🟠 Mahir |
| P9 | praktikum-p9 | Autentikasi & BaaS: Integrasi dengan Supabase, Google OAuth Login (Single Sign-On), dan pengelolaan sesi otentikasi aman. | 🔴 Sangat Mahir |
Berbagai proyek nyata yang mengekspansi materi praktikum dasar menjadi produk fungsional:
pos-kasir & Market minie-kampus-mini-appinvoice scanneranalisis data jasa & 🧬 nanotabpfn-plusrust-wawebGambaran arsitektur level atas dari workspace ini:
React-Native-Anwar/
├── 📁 Backup Data/ # File cadangan mentah dan dataset
├── 📁 Market mini/ # Proyek mini-app: Market
├── 📁 analisis data jasa/ # Repositori data analitik
├── 📁 e-kampus-mini-app/ # Proyek mini-app: Sistem Akademik
├── 📁 invoice scanner/ # Proyek mini-app: Pemindai Faktur
├── 📁 nanotabpfn-plus/ # Modul eksperimen Machine Learning
├── 📁 pos-kasir/ # Proyek mini-app: Kasir
├── 📁 praktikum-rn-1/ # Modul Pertemuan 1
├── 📁 praktikum-p2/ # Modul Pertemuan 2
├── ... (praktikum berlanjut) ...
├── 📁 praktikum-p9/ # Modul Pertemuan 9
├── 📁 rust-waweb/ # Backend Rust WhatsApp
├── 📄 .gitignore # Aturan pengecualian file sensitif
└── 📄 README.md # Dokumen komprehensif ini
Dikarenakan repositori ini dirancang sebagai Monorepo, setiap proyek berjalan secara terisolasi.
Persyaratan Sistem Awal:
npm install -g expo-cliCara Memulai:
git clone https://github.com/anwarrohmadi2006/React-Native-Anwar.git
cd React-Native-Anwar
cd praktikum-p9
.env.example ke .env dan masukkan API Key Anda.node_modules.
npm install
npx expo start
a untuk membuka di Emulator Android.📌 Sedang Dalam Pengerjaan: Bagian ini akan segera diperbarui dengan cuplikan gambar (GIF/Screenshot) antarmuka dari aplikasi
e-kampus,pos-kasir, dan hasil akhir dari setiap praktikum mingguan.
Kendala yang umum terjadi beserta solusinya:
| Gejala Error | Penyebab | Solusi Cepat |
|---|---|---|
ENOSPC: System limit for number of file watchers reached | OS (biasanya Linux/WSL) kehabisan batas file watcher. | Jalankan: echo fs.inotify.max_user_watches=524288 | sudo tee -a /etc/sysctl.conf && sudo sysctl -p |
Port 8081 already in use | Ada Node.js/Metro Bundler lain yang nyangkut di latar belakang. | Tutup terminal sebelumnya atau paksa stop Node. Atau ubah port: npx expo start --port 19000 |
Network response timed out di Expo Go | HP dan Laptop tidak berada di jaringan WiFi/LAN yang sama, atau terhalang Firewall. | Pindah koneksi Expo ke mode Tunnel: Tekan tombol shift + t di terminal setelah Expo berjalan. |
| Layar Merah (Red Screen of Death) | Biasanya ada kesalahan di sintaks atau lupa npm install. | Baca pesan error di baris paling atas, perbaiki file yang ditunjuk, simpan (save), tekan r untuk reload. |
Meski ini adalah repositori pembelajaran pribadi, saran dan perbaikan selalu diterima!
git checkout -b fitur-keren-saya).git commit -m 'Menambahkan fitur keren').git push origin fitur-keren-saya).Anwar Rohmadi
Data Science Student | Frontend & Mobile App Enthusiast
Terhubung bersama saya untuk kolaborasi atau diskusi seputar kode!
7 commits
Jupyter Notebook
95.2%
JavaScript
2.4%
TypeScript
1.1%
🚀 Kumpulan Proyek, Praktikum, Eksperimen UI/UX, dan Integrasi Backend (React Native & Mobile App Development)
Selamat datang di ruang kerja (workspace) utama React Native milik Anwar Rohmadi. Repositori ini bukan sekadar tempat penyimpanan kode, melainkan sebuah Jurnal Pembelajaran dan Portofolio Hidup yang berfungsi sebagai monorepo komprehensif. Mulai dari dasar-dasar komponen UI hingga aplikasi dengan integrasi backend yang kompleks, semuanya terdokumentasi dan diatur secara rapi di sini.
Tujuan Repositori:
Pengembangan dalam repositori ini menitikberatkan pada alat dan teknologi berikut:
Setiap folder praktikum-p{X} mewakili tahapan logika kurikulum (milestone). Berikut adalah rinciannya:
| Modul | Folder Proyek | Pokok Bahasan & Capaian Pembelajaran | Tingkat Kesulitan |
|---|---|---|---|
| P1 | praktikum-rn-1 | Fundamental Dasar: Pengenalan struktur Expo, View, Text, Image, pengenalan Props dan State. Output: Counter App Dasar. | 🟢 Pemula |
| P2 | praktikum-p2 | Layouting: Penguasaan Flexbox (justifyContent, alignItems), Margin & Padding, serta Event Handling dasar pada komponen sentuh. | 🟢 Pemula |
| P3 | praktikum-p3 | List & Scrolling: Implementasi ScrollView dan FlatList untuk rendering data dalam jumlah besar secara efisien. | 🟢 Pemula |
| P4 | praktikum-p4 | Navigasi Dasar: Pengenalan React Navigation, transisi antar halaman (Stack Navigator), dan pengiriman parameter antar layar. | 🟡 Menengah |
| P5 | praktikum-p5 | Navigasi Lanjutan: Menggabungkan Stack Navigator dengan Tab Navigator, pembuatan antarmuka navigasi bawah (Bottom Tabs). | 🟡 Menengah |
| P6 | praktikum-p6 | Global State & Lifecycle: Pemahaman mendalam tentang Component Lifecycle dan pengelolaan state yang melintasi multi-komponen. | 🟡 Menengah |
| P7 | praktikum-p7 | Integrasi API: Fetch Data, Asynchronous UI (Loading & Error state), Polling data berkala, dan teknik optimasi pencarian (Debouncing). | 🟠 Mahir |
| P8 | praktikum-p8 | Database Lokal: Menyimpan preferensi pengguna dan cache aplikasi secara persisten menggunakan AsyncStorage / SQLite. | 🟠 Mahir |
| P9 | praktikum-p9 | Autentikasi & BaaS: Integrasi dengan Supabase, Google OAuth Login (Single Sign-On), dan pengelolaan sesi otentikasi aman. | 🔴 Sangat Mahir |
Berbagai proyek nyata yang mengekspansi materi praktikum dasar menjadi produk fungsional:
pos-kasir & Market minie-kampus-mini-appinvoice scanneranalisis data jasa & 🧬 nanotabpfn-plusrust-wawebGambaran arsitektur level atas dari workspace ini:
React-Native-Anwar/
├── 📁 Backup Data/ # File cadangan mentah dan dataset
├── 📁 Market mini/ # Proyek mini-app: Market
├── 📁 analisis data jasa/ # Repositori data analitik
├── 📁 e-kampus-mini-app/ # Proyek mini-app: Sistem Akademik
├── 📁 invoice scanner/ # Proyek mini-app: Pemindai Faktur
├── 📁 nanotabpfn-plus/ # Modul eksperimen Machine Learning
├── 📁 pos-kasir/ # Proyek mini-app: Kasir
├── 📁 praktikum-rn-1/ # Modul Pertemuan 1
├── 📁 praktikum-p2/ # Modul Pertemuan 2
├── ... (praktikum berlanjut) ...
├── 📁 praktikum-p9/ # Modul Pertemuan 9
├── 📁 rust-waweb/ # Backend Rust WhatsApp
├── 📄 .gitignore # Aturan pengecualian file sensitif
└── 📄 README.md # Dokumen komprehensif ini
Dikarenakan repositori ini dirancang sebagai Monorepo, setiap proyek berjalan secara terisolasi.
Persyaratan Sistem Awal:
npm install -g expo-cliCara Memulai:
git clone https://github.com/anwarrohmadi2006/React-Native-Anwar.git
cd React-Native-Anwar
cd praktikum-p9
.env.example ke .env dan masukkan API Key Anda.node_modules.
npm install
npx expo start
a untuk membuka di Emulator Android.📌 Sedang Dalam Pengerjaan: Bagian ini akan segera diperbarui dengan cuplikan gambar (GIF/Screenshot) antarmuka dari aplikasi
e-kampus,pos-kasir, dan hasil akhir dari setiap praktikum mingguan.
Kendala yang umum terjadi beserta solusinya:
| Gejala Error | Penyebab | Solusi Cepat |
|---|---|---|
ENOSPC: System limit for number of file watchers reached | OS (biasanya Linux/WSL) kehabisan batas file watcher. | Jalankan: echo fs.inotify.max_user_watches=524288 | sudo tee -a /etc/sysctl.conf && sudo sysctl -p |
Port 8081 already in use | Ada Node.js/Metro Bundler lain yang nyangkut di latar belakang. | Tutup terminal sebelumnya atau paksa stop Node. Atau ubah port: npx expo start --port 19000 |
Network response timed out di Expo Go | HP dan Laptop tidak berada di jaringan WiFi/LAN yang sama, atau terhalang Firewall. | Pindah koneksi Expo ke mode Tunnel: Tekan tombol shift + t di terminal setelah Expo berjalan. |
| Layar Merah (Red Screen of Death) | Biasanya ada kesalahan di sintaks atau lupa npm install. | Baca pesan error di baris paling atas, perbaiki file yang ditunjuk, simpan (save), tekan r untuk reload. |
Meski ini adalah repositori pembelajaran pribadi, saran dan perbaikan selalu diterima!
git checkout -b fitur-keren-saya).git commit -m 'Menambahkan fitur keren').git push origin fitur-keren-saya).Anwar Rohmadi
Data Science Student | Frontend & Mobile App Enthusiast
Terhubung bersama saya untuk kolaborasi atau diskusi seputar kode!
7 commits
Jupyter Notebook
95.2%
JavaScript
2.4%
TypeScript
1.1%