Nontonio Logo

Rules

Aturan dan Pedoman Pengembangan Backend

Aturan Umum Backend

Aturan wajib:

  1. Controller harus tipis.
  2. Semua input tervalidasi.
  3. Semua response harus konsisten.
  4. Semua endpoint harus terdokumentasi.
  5. Semua proses berat harus lewat queue/job.
  6. Semua status penting harus memakai enum.
  7. Semua aksi admin penting harus tercatat di audit log.
  8. Semua entity sensitif harus mempertimbangkan soft delete.
  9. Semua endpoint admin wajib memakai authorization server-side.
  10. Backend tidak boleh mendasarkan keamanan pada proteksi UI frontend.

Aturan Keamanan

Wajib diterapkan:

  • HTTPS only
  • secure cookies/session
  • rate limiting
  • input validation
  • upload validation
  • content-type validation
  • password hashing kuat
  • audit log untuk tindakan penting
  • environment secrets tidak ditaruh di source code
  • signed/protected media access untuk konten premium

Larangan:

  • jangan expose manifest premium secara mentah;
  • jangan percaya role dari request client;
  • jangan menerima file upload tanpa validasi extension/mime/size.

Aturan Auth & Authorization

Auth user

  • register
  • login
  • logout
  • forgot password
  • reset password
  • email verification

Auth admin

  • login admin
  • session revoke
  • suspicious login tracking
  • optional MFA

Authorization

  • semua endpoint admin wajib protected;
  • gunakan Policy/Gate;
  • jangan hanya sembunyikan tombol di frontend;
  • setiap aksi sensitif wajib diverifikasi di backend.

Larangan Implementasi

Backend developer dilarang:

  • menulis query besar di controller;
  • membuat response format berbeda-beda antar endpoint;
  • membuat endpoint tanpa validasi;
  • menaruh business logic penting di frontend;
  • memproses file berat secara synchronous;
  • menggunakan nama field/route tidak konsisten;
  • menambahkan dependency tanpa alasan teknis yang jelas;
  • menyimpan konfigurasi sensitif di source code;
  • men-deploy code tanpa update dokumentasi dasar.

Workflow Pengembangan

Branching

  • main
  • develop
  • feature/*
  • fix/*
  • hotfix/*

Commit Convention

  • feat:
  • fix:
  • refactor:
  • docs:
  • test:
  • chore:

On this page