Proyek ini adalah implementasi yang disederhanakan dari sistem belanja, proyek ini bertujuan untuk menyediakan fitur dasar yang diharapkan ditemukan dalam aplikasi e-commerce seluler di mana pengguna dapat membeli dan menjual produk. Untuk menavigasi melalui aplikasi, pengguna harus mengotentikasi diri. Setelah masuk, pengguna dapat menelusuri daftar produk yang tersedia, menambahkan berbagai produk ke keranjang, dan membuat pesanan. Pengguna juga dapat menambah, mengedit, menghapus produk mereka sendiri ke toko utama.
Aplikasi ini berisi sistem otentikasi sederhana yang diimplementasikan menggunakan API REST Firebase Auth untuk backend. Jika proses otentikasi berhasil, token unik dikirim dari backend ke pengguna yang menjadi perhatian, token kemudian disimpan secara lokal di perangkat dan akan berakhir tepat setelah 1 jam dari penerimaannya. Saat kedaluwarsa, token dihapus dari perangkat dan pengguna akan secara otomatis keluar dan meminta ke layar login. Jika tidak, jika terjadi kesalahan dengan proses otentikasi, pesan kesalahan yang tepat akan ditampilkan di layar.
Untuk memastikan kredensial yang tepat harus disediakan setiap kali pengguna memasukkan beberapa data, semua formulir dalam proyek ini berisi beberapa algoritma validasi dasar yang digunakan kembali setiap kali validasi diperlukan.
Sebagian besar data dalam proyek ini (produk, pesanan, pengguna) disimpan dalam basis data realtime Firebase. Beberapa data khusus pengguna lainnya (auth-token, produk favorit) disimpan secara lokal di perangkat menggunakan AsyncStorage.
Semua navigasi dalam proyek ini dibangun dengan Navigasi React v5.
The app contains different types of animations on different screens to provide a smoother user experience, all animations are implemented using the React Native Reanimated library, which means the vast majority of calculations required to animate different style properties are all done in the UI Thread in the native side, so the bridge between native and react native is very infrequently crossed, therefore, animtions are never interrupted even if the JS Thread is heavily busy, resulting in smooth animations that would run at 60fps bahkan di perangkat kelas bawah.
Semua aset desain yang digunakan dalam aplikasi ini (layar, komponen, ikon ...) dibuat oleh pemilik proyek ini.
Untuk menjalankan proyek secara lokal menjalankan perintah berikut secara berurutan:
Klon proyek secara lokal
$ git clone https://github.com/abdoutech19/shop-app.git
Arahkan ke Direktori Root Proyek
$ cd shop-app
Instal semua dependensi
$ yarn install || npm install
Jalankan proyek dalam mode debug
$ npx react-native run-android
Atau jalankan proyek dalam mode rilis untuk pengalaman yang lebih halus
$ npx react-native run-android --variant=release
Catatan: Proyek ini menggunakan mesin Hermes JavaScript untuk meningkatkan waktu start-up, mengurangi penggunaan memori, dan mengurangi ukuran aplikasi. Agar perbaikan ini berlaku, aplikasi harus berjalan dalam mode rilis , jika tidak, Hermes tidak akan berpengaruh pada peningkatan kinerja dalam mode debug , pada kenyataannya, beberapa pengembang telah memperhatikan hasil yang lebih lambat dengan mesin Hermes diaktifkan dalam mode debug .
Untuk menguji aplikasi di perangkat Android Anda, Anda dapat mengunduh file .apk dari sini: berbelanja.
Didistribusikan di bawah lisensi MIT. Lihat lisensi untuk informasi lebih lanjut.
Email saya di: [email protected].