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 main
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 main
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. - 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 main branch), contoh:
# ketika ingin menambah feature baru git checkout -b feat/midtrans # ketika ingin memperbaiki bug git checkout -b fix/admin-dashboard
-
Install semua dependencies
yarn install
-
Buat file
.env.local
di root folder:# untuk contact page CONTACT_EMAIL = 'YOUR_EMAIL' CONTACT_PASS = 'YOUR_PASSWORD' # untuk JWT MY_SECRET_KEY = 'TEST' # untuk mongodb MONGO_HOST = 'YOURCLUSTER' # untuk cloudinary CLOUDINARY_URL = 'YOURCLOUDINARYURL' # untuk cypress E2E testing # silahkan bergabung ke discord server untuk mengetahui admin email & password CYPRESS_RECORD_KEY='' # key yang didapatkan setelah mendaftar dan membuat project di https://cypress.io CYPRESS_ADMIN_EMAIL='' CYPRESS_ADMIN_PASSWORD=''
-
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