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
yarn
atauyarn install
ataunpm install
2οΈβ£ - 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
type
dari perubahan. - Tulis
scope
. Pilih antaraglobal
untuk perubahan project secara umum,frontend
untuk perubahan khusus pada frontend,backend
untuk perubahan khusus pada backend,cypress
untuk perubahan pada cypress code. - Tuliskan
subject
yaitu 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
enter
untuk membiarkannya ksoong. y/n
kliky
= yes, jika ada perubahan sangat signifikan sehingga menyebabkan breaking changes (contoh: mengubah input props dari suatu component, mengubah struktur JSON dari API response), klikn
jika tidak ada.y/n
kliky
jika 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.local
di 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
develop
branch -
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)