Development Standards

Comprehensive Development Guidelines & Best Practices

🔧 Backend Development Rules

1. File migration harus menggunakan bahasa English dan sesuaikan dengan modulenya.
2. Column-column pada migration semua harus menggunakan bahasa English dan disesuaikan dengan ERD serta tipedata harus sesuai dan panjang karakter atau default value disesuaikan.
3. Model harus bahasa English dan disesuaikan dengan file migration.
4. Setiap data master dibuatkan seedernya supaya memudahkan developer lain membuat data dummy.
5. Middleware wajib dibuat disetiap routing agar membatasi akses pengguna (RBAC or ABAC).
6. Routing harus dalam bahasa English dan disesuaikan dengan module agar memudahkan grouping per module.
7. Setiap third party harus dibuat di utils (Misal: S3).
8. Wajib menggunakan format document pada saat selesai coding agar pada saat review tidak ke format ulang.
9. Semua variable wajib menggunakan bahasa English (snake_case or camelCase).
10. Semua module wajib dibuatkan schema validation.
11. Error Message dan Success message menyesuaikan dengan figma (English or Indonesian).
12. Setiap fungsi yang berulang dipanggil di setiap controller wajib dibuat sebagai helper atau middleware.
13. Semua API wajib didokumentasikan di Postman lengkap dengan body atau params.
14. Setiap API yang sudah selesai wajib dicomment di Figma untuk memberitahukan tim Frontend link documentation.
15. Setiap logic dipastikan berjalan dengan baik (validation, transaction).
16. Setiap penggunaan method disesuaikan dengan kebutuhan.
17. Gunakan Linter & Formatter (ESLint/Prettier).
🔒 Security & Configuration: Gunakan Environment Variable (.env) untuk konfigurasi, HTTPS untuk komunikasi eksternal, sanitasi input untuk menghindari SQL Injection/XSS, dan Transaction Management untuk operasi multi-tabel.

🎨 Frontend Development Rules

1. Semua variable wajib menggunakan bahasa English (snake_case or camelCase).
2. Semua module wajib dibuatkan schema validation (jika proses input).
3. Error Message dan Success message menyesuaikan dengan figma (English or Indonesian).
4. Setiap function sudah dilakukan pengecekan terlebih dahulu sebelum melakukan review code.
5. Setiap fungsi yang berulang dipanggil dibuat sebagai helper (misal: format date).
6. Tampilan disesuaikan dengan yang ada di figma, jika mengalami kesulitan perlu diskusi ke tim UI untuk di adjust.
7. Gunakan Linter & Formatter (ESLint/Prettier).
8. Gunakan Environment Variable (.env) untuk konfigurasi dan jangan hardcode.
9. Gunakan State Management.
10. Responsive Design (sesuai kebutuhan project).
11. Code Splitting & Lazy Loading untuk optimasi performance.
12. Component Reusability - Buat komponen yang dapat digunakan ulang.

âš¡ General Development Rules

1. Setiap pengerjaan disertakan commit dalam bahasa English (biasakan commit per module).
2. Sebelum melakukan pengerjaan dalam suatu task selalu pull branch dev atau main atau branch sendiri.
3. Setiap PR disertakan title atau description PR (jelaskan apa yang berubah).
4. Dilakukan pengecekan terlebih dahulu sebelum melakukan PR (testing di local) minimalisir bug ke staging.
5. Tidak ada boleh ada console log selain di catch.
6. Setiap proses dibungkus dengan try catch.