Repositori ini memuat hasil akhir dari program Mobile Flutter Superbootcamp yang diselenggarakan oleh Disnaker Jawa Barat pada tahun 2024. Program ini bertujuan untuk membekali peserta dengan pengetahuan dan keterampilan dalam pengembangan aplikasi mobile berbasis Flutter.
- Mempelajari Dasar Pemrograman Dart: Memahami sintaks, tipe data, operator, kontrol aliran, dan konsep OOP dalam Dart.
- Pengenalan Framework Flutter: Menjelajahi dasar-dasar Flutter, seperti widget, layout, state management, dan navigasi.
- Pengembangan Aplikasi: Merancang dan membangun aplikasi mobile dengan Flutter, termasuk UI/UX design, API integration, dan testing.
Aplikasi ini menggunakan manajemen state Bloc dengan struktur folder yang rapi untuk memastikan kode yang bersih dan terorganisir.
BootCampFlutter/
├── PengayaanHarian/
│ ├── pengayaan1
│ ├── pengayaan2
│ ├── pengayaan3
│ ├── pengayaan4
│ ├── pengayaan5
│ ├── pengayaan6
│ ├── pengayaan7
│ ├── pengayaan8
│ ├── pengayaanapps9&10
│ ├── pengayaanapps11
│ ├── pengayaanapps12
│ ├── pengayaanapps13
│ ├── pengayaanapps14
│ ├── pengayaanapps15
│ ├── pengayaanapps16
│ ├── pengayaanapps17
│ ├── pengayaanapps18
│ ├── pengayaanapps19
│ ├── pengayaanapps20
│ ├── pengayaanapps21
│ ├── pengayaanapps22
│ ├── pengayaanapps23
│ ├── pengayaanapps24
│ ├── pengayaanapps25
│ ├── pengayaanapps26
│ ├── pengayaanapps27
│ ├── pengayaanapps28
│ ├── pengayaanapps29
│ ├── pengayaanapps31
│ ├── pengayaanserver32
│ ├── pengayaanserver33
│ ├── pengayaanserver34 - ongoiong
├── TugasMingguan/
│ ├── Tugas-1
│ ├── Tugas-2
│ ├── Tugas-3
│ ├── Tugas-4
│ ├── Tugas-5
│ ├── Tugas-6
│ ├── Tugas-7
│ ├── Tugas-8
│ ├── Tugas-9
│ ├── Tugas-10
│ ├── Tugas-11
│ ├── Tugas-12
│ ├── Tugas-13
│ ├── Tugas-14
├── Projects/
│ ├── miniproject1
│ ├── miniproject2
│ ├── miniproject3
│ ├── finalproject - ongoing
Readme.md- pengayaan1 = Pengenalan Git, gitlab dan command line terminal
- pengayaan2 = Introduction Dart language, Installasi Dart SDK, dan Tipe Data
- pengayaan3 = conditional, looping dan function
- pengayaan4 = List dan Maps
- pengayaan5 = OOP Pada dart
- pengayaan6 = Sync and Asynchronous
- pengayaan7 = Mockup di Figma
- pengayaan8 = Instalasi Flutter
- pengayaanapps9&10 = Core Component and Basic Styling
- pengayaanapps11 = Fetch API With HTTP
- pengayaanapps12 = Animasi pada Flutter
- pengayaanapps13 = Pengenalan Bloc State Management
- pengayaanapps14 = Pengenalan routing
- pengayaanapps15 = Routing menggunakan dependensi go_router
- pengayaanapps16 = Bloc level lanjutan dengan implementasi routing
- pengayaanapps17 = Integrasi dengan API pihak ke-3, News API
- pengayaanapps18 = Local Notifikasi
- pengayaanapps19 = Menggunakan dan Implementasi Google Maps pada aplikasi
- pengayaanapps20 = Menggunakan socket pada aplikasi
- pengayaanapps21 = Mengimplementasikan Integrated Test pada aplikasi
- pengayaanapps22 = Mengimplementasikan Integrated Test level Advance pada aplikasi
- pengayaanapps23 = Mengimplementasikan camera pada aplikasi dan juga menscan barcode dengan barcode yang telah disediakan
- pengayaanapps24 = Mengimplementasikan Firebase Authentications pada aplikasi
- pengayaanapps25 = Mengimplementasikan Firebase firestore(database) pada aplikasi
- pengayaanapps26 = Mengimplementasikan Firebase Storage(Storage) pada aplikasi
- pengayaanapps27 = Mengimplementasikan Firebase Push Notification - Firebase cloud messaging pada aplikasi
- pengayaanapps28 = - ongoing Mengimplementasikan code generation
- pengayaanapps29 = - ongoing Moodboarder dan userflow
- pengayaanapps30 = High Fidality dan Interaksi
- pengayaanapps31 = Dasar PHP for Backend
- pengayaanserver32 = Installing Laravel For Backed
- pengayaanserver33 = Orm Laravel
- pengayaanserver34 = - ongoing Final Project
- Tugas1(Jumat 21 Juni 2024) = Menggunakan Looping For dan While serta mengimplementasikan juga dengan Function
- Tugas2(Selasa 25 juni 2024) = Menggunakan List dan Map beserta macam-macamnya seperti range dan list multidimensi
- Tugas3(Rabu 25 juni 2024) = Mengubah Prosedural ke Class, Synchronous to Asynchronous, Future delayed, dan Async, Await and future
- Tugas4(Kamis 27 juni 2024) = Membuat Login/Register, About, Dashboard (List Jobs) Screen,
- Tugas5(Selasa 2 Juli 2024) = Mockup yang terdiri dari halaman contacts, setting dan bottom navbar saat berganti halaman. link mockup ada dibawah
- Tugas6(Rabu 3 Juli 2024) = Fetch API random users dengan adanya 2 halaman yaitu list comment dan detail comment, dengan menggunakan services dan model dalam memanggil apinya
- Tugas7(Jumat 5 Juli 2024) = menampilkan response api dari ramdong kalimat, dengan menggunakan bloc state management. link api ada dibawah
- Tugas8(Selasa 9 juli 2024) = Mengerjakan Halaman-halaman seperti Splash setelah 3 detik, Login, beranda, Listview page, dan Detail Listview page dengan menggunakan Bloc dan go_router
- Tugas9(Rabu 10 juli 2024) = advance bloc with routing dengan implementasi drawer navbar bloc, bottom navbar bloc dan go_router. jua menggabungkan halaman splash_page, login_page, beranda_page, listview_page dan detail_listview_page
- Tugas10(Kamis 11 juli 2024) = Membuat aplikasi dengan mengambil api berita(link ada dibawah). dengan menggunakan state management Cubit ataupun Bloc
- Tugas11(Selasa 16 Juli 2024) = Membuat 2 halaman dengan mengimplementasikan local notifikasi dan juga maps
- Tugas12(Rabu 17 Juli 2024) = Membuat 2 Unit Testing, yaitu, Test widget untuk perpindahan halaman dan unit test untuk memastikan navigasi berjalan lancar
- Tugas13(Kamis 18 Juli 2024) = Unit testing lanjutan pada aplikasi sebelumnya, yaitu aplikasi pada tugas12
- Tugas14(* Juli 2024*) = Ongoing
-
miniproject1 =
- design applikasi tema nya bisa seperti tokopedia, shopee dst
- api yang wajib ada yaitu:
- profile = https://fakestoreapi.com/users/- product = https://fakestoreapi.com/products dan - cart = https://fakestoreapi.com/carts
- ada beberapa file yang di assign yang pertama yaitu profile_screen.dart kedua yaitu authentikasi (product_screan.dart) kemudian cart_screen.dart
- menggunakan bloc state managemen, menggunakan model data dan services
-
miniproject2 = tambahan halaman:
- Splash screen dengan tambahan animasi untuk masuk dari splash ke login screen
- Login screen dan untuk rule apabila di beri username = "nama_sendiri" dan password = "superbootcamp" maka akan dialihkan ke halaman beranda/product dan apabila salah maka akan di beri snackbar "Username dan password tidak sesuai"
- Dihalaman beranda/ product bisa ditambahkan local notifikasi apabila ada notifikasi maka bisa tampil
- Dihalaman beranda/ product tambahlah textfields yang bisa diberi input untuk filter data list product yang ada search by string
- Dan berikan unit test untuk menguji endpoint profile api yang ada pada halaman profile
-
miniproject3 = dengan fitur:
- authentikasi dengan firebase (Login, register dan auto login)
- dihalaman beranda data product dan detail product dari firebase firestore
- dihalaman order data product dari firebase firestore
- halaman profile menambahkan foto profile yang telah diupload dan diambil dari firebase storage
- halaman beranda menambahkan firebase push notif dan local notif yang di combine
| Name | Link |
|---|---|
| Mobile Development | MD Branch |
| Mockup Aplikasi | Figma |
| API profile | API lINKS |
| API product | API lINKS |
| API cart | API lINKS |
| API News | API lINKS |
| API random users | API lINKS |
| API random Kalimat | API lINKS |
- API Endpoint profile: Endpoint
- API Endpoint product: Endpoint
- API Endpoint cart : Endpoint
- API Endpoint News : Endpoint
- API random users : Endpoint
- Mockup Aplikasi : Link
Kami terbuka untuk menerima kontribusi dari komunitas developer untuk meningkatkan kualitas aplikasi ini. Silakan hubungi kami melalui /
Link ke issue Repository jika Anda memiliki saran atau ingin berkontribusi.
Kami ucapkan terima kasih kepada Disnaker Jawa Barat atas kesempatan mengikuti program Mobile Flutter Superbootcamp[https://sanbercode.com/]. Kami berharap aplikasi ini dapat bermanfaat bagi masyarakat dan menginspirasi para developer lain dalam membangun aplikasi mobile dengan Flutter.
