
expo-essentials adalah templat kickass yang dibangun di atas Expo, berisi struktur folder yang dapat dikelola, suite uji, dan fitur penting untuk membuat Anda siap dan menjalankan aplikasi Anda berikutnya.




(... dan banyak lagi yang akan segera hadir!)
$ cd client
$ npm start
$ docker-compose up --build
| Memerintah | Keterangan |
|---|---|
npm start | Mulai Expo Metro Server |
npm run android | Mulai aplikasi dalam emulator android |
npm run ios | Mulai aplikasi di emulator iOS |
npm run web | Mulai aplikasi di browser web |
npm run test | Pengembangan pengujian aktif, menonton file untuk perubahan dan menjalankan kembali semua tes |
npm run testDebug | Debug, console.logs dan hanya menjalankan kembali file yang diubah |
npm run testFinal | Menampilkan cakupan kode di CLI dan memperbarui html cakupan kode |
npm run updateSnapshots | Saat layar/komponen diperbarui, snapshot tes akan melempar kesalahan, ini memperbaruinya |
npm run eject | Keluarkan aplikasi Expo ke proyek Android dan iOS asli (Perhatian: Tindakan ini tidak dapat diubah) |
| Memerintah | Keterangan |
|---|---|
npm run start:dev | Mulai server dengan konfigurasi pengembangan, restart server pada perubahan file |
npm run start:staging | Memulai server dengan konfigurasi pementasan |
npm run start:prod | Memulai server dengan konfigurasi produksi |
npm run test:watch | Pengembangan tes aktif, menonton file untuk perubahan dan menjalankan kembali tes |
npm run test | Menampilkan cakupan kode di CLI dan memperbarui html cakupan kode |
Template ini menggunakan UI Kitten untuk mengendalikan tema. Untuk membaca lebih lanjut tentang itu, pastikan untuk mengunjungi dokumen mereka.
client/app/config/colors.js.ttf atau .otf lebih disukai) di folder client/app/assets/fonts . (Secara default, templat ini menggunakan font Jost).client/App.js : 
Anda dapat menentukan warna yang berbeda untuk digunakan untuk mode cahaya dan mode gelap dengan memperbarui nilai di client/app/config/lightTheme.js dan client/app/config/darkTheme.js masing -masing.
(Metode ini menggunakan react hooks, jadi pastikan Anda bekerja dengan komponen reaksi fungsional)

Template ini mendukung konfigurasi yang berubah dengan mulus untuk pembuatan lingkungan yang berbeda berdasarkan aplikasi Anda (mis. Pengembangan , pementasan dan produksi )
Pengaturan untuk aplikasi seluler diatur dalam client/app/config/settings.js .
Konfigurasi pengembangan harus diatur dalam objek dev secara langsung.

Konfigurasi pementasan harus diatur dalam objek staging . Anda dapat mengaturnya secara langsung, atau Anda dapat menambahkannya melalui file dot client/.env (jika Anda memiliki data sensitif).

Konfigurasi produksi harus diatur dalam objek prod , dan sebaiknya ditambahkan melalui file client/.env .


Pengaturan untuk server diatur di server/config/settings.js . Server ExpressJS berjalan dalam wadah Docker, sehingga Anda dapat menentukan file lingkungan mana yang terhubung ke dalam wadah.

Misalnya, konfigurasi lingkungan pengembangan dapat ditetapkan sebagai:
server/.env.dev : 
docker-compose.yml : 
Template ini menggunakan Firebase untuk otentikasi dan manajemen pengguna. Firebase menawarkan daftar penyedia eksternal yang kaya yang ingin Anda tambahkan di aplikasi Anda nanti. Mereka juga menangani mengirim email untuk verifikasi email , reset kata sandi , dan perubahan email .
Disarankan agar Anda membuat 3 proyek Firebase terpisah untuk aplikasi Anda: app-dev , app-staging , dan app-prod (untuk setiap lingkungan yang digunakan aplikasi Anda). Ini untuk memastikan bahwa Anda dapat menguji lingkungan Anda yang independen satu sama lain, dan mencegah data yang tumpang tindih.
Buat konfigurasi WebApp dalam proyek Firebase Anda, dan tambahkannya di objek lingkungan yang sesuai. 
Server menggunakan Firebase Admin SDK untuk membuat middleware otentikasi. Middleware ini mendekode token JWT yang dikirim dari aplikasi melalui permintaan API untuk mengidentifikasi pengguna dan peran mereka.
server/config/firebase-service-account-<environment>.jsonserver/config/firebase-service-account-dev.json , server/config/firebase-service-account-staging.json , server/config/firebase-service-account-prod.json )


















