in Django

Django Tips: Django Project vs Django App

django-project

Bagi yang baru saja mulai belajar Django, mungkin ada yang kesulitan memahami apa bedanya Django Project dan Django Apps, dan anda pun berfikir.. Kok semakin ribet aja ya? :)

He.. he.. kalau begitu anda harus percaya pada saya satu hal.. Semua tidak seribet yang anda pikirkan, dan nantinya anda akan berterima kasih kenapa Django di design seperti itu.

Ok langsung saja, apa itu bedanya Django project dan Django Apps, sebenarnya kalau dilihat dari cara dan struktur coding nya tidak lah berbeda karena pada dasarnya mereka hanyalah sama-sama terdiri dari code-code Python. Coba diperhatikan dengan seksama ilustrasi diatas dan perhatikan tanda panah hitamnya. Akan saya jelaskan lebih detail di bawah ini.

Namun ada tiga konsep yang harus dipahami mengenai perbedaan Project dan Aplikasi Django:

  1. Django Project, bisa berdiri sendiri, tidak harus memiliki Django App, dijalankan sendiri tanpa harus memerlukan aplikasi-aplikasi tambahan (Apps). Ini bisa dilakukkan apabila anda hanya ingin membuat sebuah web sederhana, tanpa database atau hanya memproses data dari sumber lain dan menampilkannya kembali ke browser.
  2. Django Project, bisa terbentuk dari gabungan dari beberapa DJango App, yang saling berhubungan atau memiliki fungsi-fungsi tersendiri. Misal: Sebuah django project BLOG, bisa terbentuk dari beberapa aplikasi misalnya, Aplikasi Komentar, Aplikasi Rating, Aplikasi Kontent, Aplikasi File Uploader dll. Mereka semua diramu, digabungkan dan jadilah sebuah Django project yang nama nya Blog.
  3. Django App, tidak dibuat untuk langsung bisa dijalankan dengan sendirinya, harus di Wrap dalam sebuah Django Project untuk dijalankan. Django App dibuat untuk memenuhi suatu fungsi tertentu di dalam suatu project. Sehingga project menjadi lebih modular dan lebih mudah dimaintenance. Django App, bisa saling behubungan/memerlukan dengan App lainnya dalam satu project.

Nah setelah ketiga konsep itu dipahami sampai kedalam hati :) sekarang saya akan memberikan sebuah contoh kongkrit bagaimana peng-aplikasian beberapa aplikasi menjadi sebuah Django Project.

CONTOH PENGAPLIKASIAN

Ok, misalnya kita akan membuat sebuah website toko online, karena toko online bisa sangat kompleks, maka sebaiknya di bagi-bagi fungsinya menjadi bagian kecil yang saling berhubungan dengan yang lain, atau memiliki fungsi khusus sendiri.

Aplikasi yang diperlukan untuk membangun toko online misalnya sebagai berikut:

  1. Aplikasi Katalog, menangani proses pembuatan, edit, hapus produk.(bisa dibuat sendiri)
  2. Aplikasi Registrasi User/Customer, menangani proses pendaftaran akun untuk calon pembeli.(bisa dibuat sendiri atau gunakan aplikasi yang sudah ada contoh Django-registration).
  3. Aplikasi Cart, menangani proses Add to Cart, Checkout. (bisa dibuat sendiri)
  4. Aplikasi Order, menangani proses pembuatan Order dan manage order. (bisa dibuat sendiri)

Ok saya rasa cukup segitu dulu, jadi intinya anda bisa mendeskripsikan sendiri aplikasi-aplikasi apa saja yang diperlukan dan mulailah membangun.

HUBUNGAN ANTAR APLIKASI

Jadi kita sudah siap dengan aplikasi-aplikasi yang diperlukan, sekarang mari kita lihat hubungan antara aplikasi-aplikasi itu.

Aplikasi katalog akan memiliki hubungan dengan erat dengan aplikasi Cart dan Order, karena Cart dan Order akan memakai produk dari aplikasi Katalog.

Aplikasi Order akan sangat dekat dengan Aplikasi Cart, karena data produk yang dibeli customer yang akan diorder akan diambil dari data product yang ada di Shopping Cart customer itu.

Aplikasi Registrasi/Login customer akan sangat dekat dengan aplikasi Order, karena hanya dengan Login/register customer bisa melakukkan order atau melihat daftar order mereka sebelumnya.

Dan semua hubungan itu ada dalam sebuah project yang bisa kita beriĀ  nama Simple Shop, dan kita siap untuk online.:)

KESIMPULAN

Dengan melihat hubungan antara aplikasi diatas, semoga anda sudah bisa membayangkan perbedaan antara apa itu Project dan Aplikasi.

Salah satu keuntungan besar membuat sebuah project yang terdiri dari beberapa aplikasi adalah, misalkan saja kita bayangkan akan menambahkan Fitur Rating pada produk kita, maka cukup hanya bekerja di Aplikasi katalog, tanpa harus menyentuh aplikasi lain yang tidak berhubungan. Ini akan membuat maintenance web menjadi lebih mudah karena tidak harus merombak system toko online secara keseluruhan. Asik bukan?

Jadi itu sedikit ulasan saya mengenai Django App dan project, semoga berguna dan see you at my next Tips…

 

FacebookShare

Write a Comment

Comment