Kami menghargai semua masukan dari kalian. Kami ingin kontribusi kalian terjadi semudah mungkin, baik itu:
- Melaporkan issue πββοΈ
- Diskusi kondisi code yang ada sekarang β (dalam artian apakah code tersebut sudah sesuai dengan design pattern ataukah masih berantakan)
- Submitting fix π¨
- Mencanangkan ide / fitur baru β
- Menjadi maintainer π
Semua perubahan terhadap master branch terjadi melalui Pull Requests (PR). PR merupakan cara terbaik untuk mengusulkan suatu perubahan. Kami secara aktif menyambut PR anda dan mengundang anda untuk mengirimkan PR secara langsung disini, dan setelah di review, PR tersebut dapat lgsg digabungkan ke dalam master branch.
Project ini menggunakan conventional commits standard. Hal ini dilakukan agar setiap commit yang dilakukan oleh para contributor terstandarisasi. Library yang digunakan untuk mengimplementasikan hal tersebut adalah commitizen.
Ikuti langkah berikut untuk memastikan setiap commit message yang anda tulis terstandarisasi:
- Pastikan console shell path anda berada di dalam root project dengan benar 1οΈβ£
- Jalankan
yarnatauyarn installataunpm install2οΈβ£ - Lakukan staging file2 yang ingin anda commit dengan menjalankan
git add [files]ataugit add .3οΈβ£ - Jalankan
yarn cm. Ini akan memulai prompt interaktif yang akan menghasilkan commit message Anda 4οΈβ£:- Pilih
typedari perubahan. - Tulis
scope. Pilih antaraglobaluntuk perubahan project secara umum,frontenduntuk perubahan khusus pada frontend,backenduntuk perubahan khusus pada backend,cypressuntuk perubahan pada cypress code. - Tuliskan
subjectyaitu pesan berisi penjelasan yang pendek, namun informatif mengenai perubahan yang anda lakukan. - Kalau hal diatas masih dirasa kurang, anda dapat menambahkan penjelasannya lebih jelasnya setelahnya. Kalau tidak anda bisa langsung klik
enteruntuk membiarkannya ksoong. y/nkliky= yes, jika ada perubahan sangat signifikan sehingga menyebabkan breaking changes (contoh: mengubah input props dari suatu component, mengubah struktur JSON dari API response), kliknjika tidak ada.y/nklikyjika perubahan ini berdampak pada open issue, dan jika iya maka anda akan diminta untuk memasukkan issue number yang merujuk pada issue tersebut. Jika tidak maka klikn.
- Pilih
- Commit message anda sekarang telah berhasil terbuat π. Anda dipersilahkan untuk push ke fork anda dan membuka PR baru 5οΈβ£
-
Fork repository ini
-
Buat branch baru dari develop branch (jangan pernah bekerja di master branch), contoh:
# ketika ingin menambah feature baru git checkout -b feat/redux # ketika ingin memperbaiki bug git checkout -b fix/dashboard
-
Install semua dependencies
yarn install -
Buat file
.env.localdi root folder:# jwt secret MY_SECRET_KEY='' # firebase secret NEXT_PUBLIC_FIRE_API_KEY='' NEXT_PUBLIC_FIRE_AUTH_DOMAIN='' NEXT_PUBLIC_FIRE_PROJECT_ID='' NEXT_PUBLIC_FIRE_STORAGE_BUCKET='' NEXT_PUBLIC_FIRE_MESSAGING_SENDER_ID='' NEXT_PUBLIC_FIRE_APP_ID='' NEXT_PUBLIC_FIRE_MEASUREMENT_ID='' NEXT_PUBLIC_FIRE_DATABASE_URL='' # sentry NEXT_PUBLIC_SENTRY_DSN='' # firebase service account JSON link, uploaded to code hosting like gist SERVICE_ACCOUNT_LINK='' # midtrans secret MIDTRANS_MERCHANT_ID='' MIDTRANS_CLIENT_KEY='' MIDTRANS_SERVER_KEY='' # cypress secret CYPRESS_RECORD_KEY=''
-
Jalankan dev server
yarn dev -
Fix bugs atau implementasi new features
-
Commit changes dengan standar yang telah dijelaskan sebelumnya
-
Selalu tulis E2E/integration test untuk backend API routes dan frontend, jika anda membuat/mengubah sesuatu di dalam logic backend API / frontend
-
Pastikan tidak ada error ataupun warning ketika menjalankan perintah
yarn lint -
Push changes ke remote repo, dan buat pull request ke
developbranch -
Kalau memungkinkan gunakan reference keywords di description untuk mereferensikan ke issues yang bersangkutan dengan pull request yang telah anda buat
changed transform prop of the modal so it can render text properly fix #14 // reference ke issues #14
-
Tunggu review dan comment terhadap pull request yang telah kalian buat
-
Selalu tulis unit test (coming soon)