Odoo CRM dan ERP

Kemarin saya ditanya seorang kawan tentang Odoo, apakah saya pernah menggunakannya? Saya katakan belum pernah. Sayapun cari informasi tentang aplikasi ini.

Lalu saya ketahui bahwa Odoo ternyata adalah kerangka apllikasi (Application Framework) untuk CRM dan ERP.

Dala situsnya dikatakan: “Odoo adalah rangkaian aplikasi bisnis open source yang mencakup semua kebutuhan perusahaan Anda: CRM, eCommerce, akuntansi, inventaris, point of sale, manajemen project, dan seterusnya. Mudah digunakan dan terintegrasi penuh pada saat yang sama adalah value proposition unik Odoo.”

Artinya, Odoo ini modular, kita bisa melakukan instalasi modul sesuai kebutuhan. bahkan pada level advanced, kita bisa membuat modul sendiri menggunakan bahasa Python.

Odoo ini, menurut literatur yang saya baca, adalah pengembangan dari OpenERP.

Beberapa informasi terkait dengan development aplikasi ini adalah:

  • Backend: Python
  • Frontend: JavaScript
  • Tampilan dan Konfigurasi: XML
  • Basis Data: PostgreSQL
  • Desain Web: HTML/CSS

Odoo dikembangan dalam 2 versi, enterprice dan komunitas. Jika kita ingin menginstallnya sendiri tanpa dukungan, maka kita bisa menggunakan  versi komunitas. Karena aplikasi ini di release secara opensource, yang penting kamu memiliki resources/server yang memadahi maka kamu bisa menginstallnya sendiri.  Eh, bahkan Odoo bisa diinstall hanya dengan klak-klik di MS Windows.

Btw, jika kamu ingin mencobanya silahkan langsung mengunjungi sirtusnya disini https://www.odoo.com/id_ID

Untuk kebutuhan testing kamu bisa menginstallnya dengan resources:

  • CPU: 2 core CPU
  • RAM: 2 GB RAM
  • Storage: 10-20 GB SSD

Berikut Docker Compose yang bisa diandalkan untuk melakukan instalasi secara instant, untuk docker terbaru (versi 18): Docker Compose Odoo v18

Sebelumnya saya sudah mencoba melakukan instalasi pada docker compose, namun inilah yang paling lancar diinstall.

Tapi nanti pada implementasi yang paling penting bukan pada instalasinya, namun bagaimana kita mampu mengidentifikasi proses yang ada dalam perusahaan dan mengimplementasikannya dalam Odoo.

Okey segitu dulu review singkat tentang Odoo.

Jam Waktu Sholat

Sebenarnya saya sudah lama sekali utak atik Jam Adzan, sejak era Arduino Uno. Dulu saya menggunakan Arduino UNO + Modul Jam + Mp3 Player DF Robot.  Bisa jalan sih, hanya belum benar-benar menjadi sebuah produk jadi.

Lama tidak utak utik lagi karena saya ketemu cara yang lebih mudah, yaitu menggunakan Home Assistant pada server STB Bekas, yang berbiaya murah, yang saya play pada Google Nest  yang kebetulan ada di rumah.

Ini ada yang membuat lagi dengan ESP32. Keunggulan ESP32 karena mempunyai kemampuan untuk akses internet, jadi jadwal adzan tidak usah dihitung di device.  Sudah menjadi produk yang dikemas dengan bagus.

Beliau juga dengan baik hati membagikan kode sumbernya disini: https://github.com/TechWanWorkshop/jws/

Memang masih ada yang perlu dikembangkan antara lain bagaimana agar ada interface settingnya, sehingga kertika kita melakukan perubahan parameter maka kita tidak usah compile ulang.

Mungkin perlu menggunakan modul waktu, dan wifi yang ada pada ESP32 hanya kita gunakan sebagai access point untuk menyimpan parameter. Dan penghitungan waktu adzan disimpna di device aja agar kita tidak harus akses internet.

Uninstall Aplikasi Bandel

Sebagai pengguna Windows 10, sering saya disebalkan oleh adanya aplikasi yang tidak bisa di uninstall. Bahkan aplikasi ini  saya juga tidak tahu kapan saya menginstallnya.

Aplikasi itu adalah RAV endpoint Protection  dan McAfee.

Memang beberapa aplikasi antivirus saat ini sudah tidak terlalu laku karena Windows sudah menggunakan WIndows Defender. Sehingga kadang mereka menumpang pada aplikasi-aplikasi freeware yang kita install.

Entah mengapa Windows tidak berdaya menghadapi hal ini. Akhirnya saya menemukan cara untuk menguninstallnya, menggunakan Revo Uninstaller. Walaupun menggunakan yang versi gratis namun bisa menguninstall aplikasi bandel itu secara paksa.

Membuat File Bacaan Sholat

Saya “terpaksa” membuat file bacaan sholat sendiri karena saya sulit mendapatkan file bacaan sholat dengan kriteria:

  1. Lengkap (sampai pada doa sesudah sholat)
  2. Ringkas ( bacaannya mengambil bacaan yang tidak lambat dan mengambil versi pendeknya saja)

Mengapa? Karena file-file itu akan saya gunakan untuk menuntun sholat orang yang sakit menahun yang ingatannya tidak terlalu baik, seperti orang alzimer, stroke, atau penyakit tua.

Sebenarnya saya nemu beberapa di internet, namun yang lengkap dari sholat subuh sampai isya tidak saya ketemukan.

Saya sendiri pada dasarnya berat untuk merekam bacaan sholat dari Subuh sampai Isya. Apalagi kamu tahu dalam rekaman, sering ada kesalahan di tengah-tengah. Berat.

Akhirnya saya membuat pecahan bacaan-bacaan sholat itu. Saya merekamnya dengan Audacity yang juga baru saya install.

  1. niat-sholat-subuh.mp3
  2. niat-sholat-dhuhur.mp3
  3. niat-sholat-ashar.mp3
  4. niat-sholat-maghrib.mp3
  5. niat-sholat-isya.mp3
  6. doa-iftitah.mp3
  7. surat-alfatihah.mp3
  8. surat-alikhlash.mp3
  9. surat-annas.mp3
  10. rukuk-sujud.mp3
  11. rukuk-qunut-sujud.mp3
  12. attahiyat-awwal.mp3
  13. attahiyat-akhir.mp3
  14. doa-sesudah-sholat.mp3

Jadi saya hanya merekam 14 file saja, yang nanti harus disusun berdasarkan sholatnya.

Untuk memudahkan penggabungan saya mempunyai kiat khusus

  1. Pada akhir file niat, rukuk – sujud, rukuk – qunut – sujud, attahiyat awwal diakhiri dengan takbir
  2. Pada akhir attahiyat akhir diakhiri dengan salam.

Dengan demikian saya tidak harus membuat file takbir dan salam sendiri.

Kedua, soal penggabungan file mp3-nya saya serahkan kepada python dengan program yang tentu saja minta bantuan chatgpt :D.

Install ffmpeg

Berikut cara untuk menginstall ffmpeg di Windows. Tanpa ffmpeg, kamu tidak akan bisa menggabungkan file mp3.

  1. Unduh ffmpeg:
    • Buka situs ffmpeg.org dan unduh versi yang sesuai dengan sistem operasi Anda (Windows).
    • Pilih link untuk versi static build untuk memudahkan instalasi.
  2. Ekstrak ffmpeg:
    • Setelah mengunduh, ekstrak file ZIP ke folder yang mudah diakses, misalnya C:\ffmpeg.
  3. Tambahkan ffmpeg ke PATH:
    • Buka Control Panel > System and Security > System > Advanced System Settings.
    • Klik tombol Environment Variables.
    • Di bagian System variables, cari variabel Path, kemudian klik Edit.
    • Klik New dan tambahkan lokasi folder bin dari ffmpeg, misalnya:
      C:\ffmpeg\bin
    • Klik OK pada semua jendela untuk menyimpan perubahan.
  4. Cek Instalasi ffmpeg:
    • Buka command prompt dan jalankan perintah berikut untuk memastikan ffmpeg terinstall dengan benar:
      ffmpeg -version
    • Jika instalasi berhasil, Anda akan melihat informasi versi ffmpeg yang terinstall.

Menggabungkan file Mp3

Berikut studi kasus untuk untuk sholat Isya

Jangan lupa jika kamu belum menginstall library pydub di python, install dulu dengan:.

pip install pydub

Sebenarnya library inilah yang membutuhkan ffmpeg.

Berikut program penggabungannya:

from pydub import AudioSegment
# Fungsi untuk memuat, menormalkan, dan menggabungkan audio
def load_and_combine(files):
    combined = AudioSegment.empty()  # Inisialisasi audio kosong
    for file in files:
        audio = AudioSegment.from_mp3(file)  # Muat file MP3
        audio = audio.normalize()  # Normalkan audio untuk menyelaraskan volume
        combined += audio  # Gabungkan audio
    return combined

# Daftar file MP3 untuk setiap bagian
niat_dan_rakaat_pertama = [
    "niat-sholat-isya.mp3",
    "doa-iftitah.mp3",
    "surat-alfatihah.mp3",
    "surat-alikhlash.mp3",
    "rukuk-sujud.mp3"
]

rakaat_kedua = [
    "surat-alfatihah.mp3",
    "surat-annas.mp3",
    "rukuk-sujud.mp3",
    "attahiyat-awwal.mp3"
]

rakaat_ketiga = [
    "surat-alfatihah.mp3",
    "rukuk-sujud.mp3"
]

rakaat_keempat_dan_doa = [
    "surat-alfatihah.mp3",
    "rukuk-sujud.mp3",
    "attahiyat-akhir.mp3",
    "doa-sesudah-sholat.mp3"
]

# Gabungkan setiap bagian
combined_niat_dan_rakaat_pertama = load_and_combine(niat_dan_rakaat_pertama)
combined_rakaat_kedua = load_and_combine(rakaat_kedua)
combined_rakaat_ketiga = load_and_combine(rakaat_ketiga)
combined_rakaat_keempat_dan_doa = load_and_combine(rakaat_keempat_dan_doa)

# Gabungkan semua bagian menjadi satu audio
final_audio = (combined_niat_dan_rakaat_pertama + combined_rakaat_kedua + 
               combined_rakaat_ketiga + combined_rakaat_keempat_dan_doa)

# Simpan hasil gabungan ke file baru
final_audio.export("sholat_isya.mp3", format="mp3")

Penjelasan

  • audio.normalize(): Menormalkan setiap file audio sehingga tingkat volume seimbang sebelum digabungkan.
  • Hasil akhirnya akan disimpan dalam file sholat_isya.mp3, dengan volume yang seragam di semua bagian.

Ok demikian sebagai catatan singkat pengalaman hari ini. Mudah-mudahan bermanfaat.