Kami sangat senang Anda ingin berkontribusi pada Sensasi POS! 🎉 Baik Anda seorang developer berpengalaman atau baru di dunia open source, setiap kontribusi Anda akan membuat proyek ini lebih baik untuk semua orang.
Sensasi POS adalah aplikasi Point of Sale (POS) berbasis web yang dirancang untuk membantu pengusaha kecil dan menengah dalam mengelola bisnis mereka. Aplikasi ini memiliki berbagai fitur yang memudahkan pengguna dalam melakukan transaksi, mengelola stok barang, dan melacak penjualan.
Aplikasi ini mendasarkan teknologi pengkodean pada framework NextJS dan TypeScript. Selain itu aplikasi ini juga menggunakan beberapa teknologi lain yang perlu Anda ketahui:
- 🎨 NextUI - Sistem desain modern untuk aplikasi web berbasis NextJS. Pelajari lebih lanjut di sini.
- ⛃ Dexie.js - Pustaka IndexedDB yang memudahkan penggunaan basis data berbasis browser. Info lebih lanjut di sini.
Panjang umur untuk semua pengembang open source di seluruh dunia! 🌍
Pemahaman dasar tentang teknologi-teknologi tersebut akan sangat dibutuhkan dalam pengembangan aplikasi ini. Jika Anda belum familiar dengan teknologi-teknologi tersebut, jangan khawatir! Kami siap membantu Anda dalam memahami aplikasi ini secara menyeluruh.
Ada banyak cara di mana Anda dapat membantu proyek ini menjadi lebih baik:
- Menemukan bug? Anda bisa melaporkannya di sini. Laporan bug dari Anda membantu kami memperbaiki masalah dan membuat aplikasi lebih stabil.
- Punya ide brilian? Jangan ragu untuk mengusulkan fitur baru. Kami sangat terbuka untuk ide-ide inovatif Anda!
- Ingin menyelesaikan masalah? Anda bisa melihat daftar issue yang ada dan mulai menyelesaikan yang Anda minati.
- Ingin memperbaiki dokumentasi? Dokumentasi selalu bisa ditingkatkan! Kontribusi Anda di bagian ini akan sangat membantu pengguna lain memahami aplikasi.
- Tertarik menulis tes? Anda bisa menulis tes untuk meningkatkan cakupan dan keandalan aplikasi.
Tip
Anda dapat mempelajari cetak biru aplikasi Sensasi POS melalui Figma Jam pada gambar-tautan di bawah atau berdiskusi pada #119.
-
Fork repositori ini ke akun GitHub Anda.
-
Clone repositori hasil fork Anda ke komputer lokal:
git clone https://github.com/username-anda/sensasi-pos.git cd sensasi-pos
-
Instal dependensi yang dibutuhkan untuk menjalankan proyek:
npm install
Anda sekarang dapat mulai menulis kode! Jika Anda memperbaiki bug atau menambahkan fitur baru, mohon sertakan referensi issue terkait di pesan commit Anda.
Note
Alur kerja pada proyek ini mengadaptasi alur kerja yang ditulis oleh @sensasi-delight pada tautan berikut: https://medium.com/@sensasi-delight/mulailah-menata-alur-kerja-di-github-d7af4f7968cf.
Adapun alur kerja yang diterapkan untuk berkontribusi adalah sebagai berikut:
-
Buat cabang (branch) baru untuk perubahan yang ingin Anda buat:
git checkout -b nama-fitur-anda
-
Tulis kode yang diperlukan untuk menyelesaikan fitur atau memperbaiki bug yang Anda kerjakan. Jangan lupa untuk menambahkan tes jika diperlukan.
Important
Kami menggunakan ESLint dan Prettier untuk menjaga kualitas kode. Sebelum membuat commit, pastikan kode Anda telah lolos aturan lint dengan menjalankan perintah npm run lint
. Jika lint menunjukkan kesalahan, harap perbaiki sebelum mengajukan pull request.
-
Setelah perubahan selesai, commit perubahan Anda menggunakan pesan yang jelas dan deskriptif menggunakan kalimat berbentuk imperatif:
git add . git commit -m "Menambahkan fitur X"
-
Dorong (push) perubahan Anda ke cabang yang Anda buat ke repositori yang telah Anda fork sebelumnya:
git push origin nama-fitur-anda
-
Setelah semua langkah di atas selesai, ajukan pull request (PR) dari cabang Anda ke cabang
main
repositori ini dengan deskripsi yang jelas terkait perubahan yang Anda buat. Jangan lupa untuk menyertakan issue yang relevan jika ada.
Tip
Lakukanlah sinkronisasi pada repositori fork Anda secara berkala untuk meminimalisir konflik kode yang dapat terjadi selama masa pengembangan.
Untuk saat ini, Sensasi POS tidak memisah/memecah basis kode antara front-end dan back-end sehingga tidak ada teknologi khusus yang digunakan untuk back-end. Sensasi POS bersandar penuh pada framework NextJS. Walaupun begitu, komunikasi dengan basis data telah diakomodir oleh pustaka Dexie.js sehingga Anda dapat melakukan manipulasi data pada basis data secara langsung pada event-event milik komponen front-end (onClick
, onSubmit
, dsb) melalui fungsi/metode milik Dexie.js.
Semua status isu pada tab tersebut diperbaharui secara real-time oleh pengurus repositori sehingga semua status yang tertera pada semua isu bersifat mutakhir dengan kondisi terkini.
Untuk menghindari bentrok pada pengerjaan isu, sebaiknya memberitahukan isu mana yang ingin Anda selesaikan melalui kolom komentar pada isu tersebut.
Untuk berkontribusi, kontributor wajib untuk melakukan fork terhadap repositori utama dengan tujuan untuk meningkatkan mengefisiensi tata kelola proyek dan alur pengerjaan. Penerapan alur pengerjaan seperti yang telah dijelaskan pada subbab Persiapan Pengembangan dan Mulai Koding dapat meminimalisir konflik terhadap file-file yang terdapat di dalam proyek Sensasi POS yang secara beramai-ramai diubah oleh beberapa kontributor.
Tata cara untuk berkontribusi telah dijelaskan pada subbab Persiapan Pengembangan dan Mulai Koding. Silahkan membaca tata cara berkontribusi pada subbab tersebut.
Jika Anda memiliki pertanyaan, ide, atau butuh panduan, jangan sungkan untuk menyampaikannya melalui jalur-jalur komunikasi berikut:
- Email: [email protected]
Terima kasih telah berkontribusi pada Sensasi POS! Kami sangat tidak sabar melihat kontribusi luar biasa dari Anda! Kontribusi Anda akan membantu menjadikan proyek ini lebih baik untuk semua orang. 🎉