Skip to content

Latest commit

 

History

History
154 lines (101 loc) · 8.33 KB

CONTRIBUTING.md

File metadata and controls

154 lines (101 loc) · 8.33 KB

🚀 Berkontribusi ke Sensasi POS

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.

📝 Selayang Pandang

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:

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.

🤝 Bagaimana Anda Dapat Berkontribusi

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.

💻 Persiapan Pengembangan

  1. Fork repositori ini ke akun GitHub Anda.

  2. Clone repositori hasil fork Anda ke komputer lokal:

    git clone https://github.com/username-anda/sensasi-pos.git
    cd sensasi-pos
  3. Instal dependensi yang dibutuhkan untuk menjalankan proyek:

    npm install

</> Mulai Koding

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:

  1. Buat cabang (branch) baru untuk perubahan yang ingin Anda buat:

    git checkout -b nama-fitur-anda
  2. 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.

  1. Setelah perubahan selesai, commit perubahan Anda menggunakan pesan yang jelas dan deskriptif menggunakan kalimat berbentuk imperatif:

    git add .
    git commit -m "Menambahkan fitur X"
  2. Dorong (push) perubahan Anda ke cabang yang Anda buat ke repositori yang telah Anda fork sebelumnya:

    git push origin nama-fitur-anda
  3. 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.

Contoh repositori fork yang telah sinkron

Pertanyaan Umum

Teknologi apa yang digunakan untuk back-end

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.

Apakah semua isu pada tab issues belum dikerjakan❓

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.

Apakah harus memberitahu pengurus repositori ketika ingin berkontribusi❓

Untuk menghindari bentrok pada pengerjaan isu, sebaiknya memberitahukan isu mana yang ingin Anda selesaikan melalui kolom komentar pada isu tersebut.

Apakah harus melakukan fork terlebih dahulu❓

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.

Apakah ada tutorial-nya❓

Tata cara untuk berkontribusi telah dijelaskan pada subbab Persiapan Pengembangan dan Mulai Koding. Silahkan membaca tata cara berkontribusi pada subbab tersebut.

🤝 Diskusi dan Bantuan

Jika Anda memiliki pertanyaan, ide, atau butuh panduan, jangan sungkan untuk menyampaikannya melalui jalur-jalur komunikasi berikut:


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. 🎉