- Code editor (misalnya: Visual Studio Code).
- Python 3.8+ (terinstal di sistem).
- Node.js 18+ (terinstal di sistem).
- Redis Server (untuk Celery).
- MySQL atau SQLite (opsional, tergantung konfigurasi database).
- Buka proyek ini menggunakan code editor misalnya VSCode.
- Pastikan kamu berada di direktori root proyek (
KalenderAkademik-capstone).
- Buka terminal bawaan VSCode (klik ikon "+" di sisi kanan atas terminal, pilih "Command Prompt" atau shell yang sesuai).
- Buat dan aktifkan lingkungan virtual dengan perintah berikut:
python -m venv env env\Scripts\activate # Untuk Windows # Atau gunakan: source env/bin/activate # Untuk macOS/Linux
- Pindah ke direktori proyek:
cd kalenderAkademik - Instal modul yang diperlukan:
pip install django pip install djangorestframework pip install requests pip install celery[redis] pip install pytz pip install django-jazzmin pip install mysqlclient # Opsional, jika menggunakan MySQL
- Redis:
- Unduh dari: Redis untuk Windows.
- Instal seperti biasa. Pastikan layanan Redis berjalan (jalankan
redis-serverdi terminal terpisah).
- Node.js:
- Unduh dari: Node.js v22.15.0.
- Instal seperti biasa. Verifikasi dengan menjalankan
node -vdannpm -vdi terminal.
- Buka file
settings.pydi folder proyek (kalenderAkademik). - Sesuaikan konfigurasi database sesuai kebutuhan:
- Untuk SQLite (default):
DATABASES = { 'default': { 'ENGINE': 'django.db.backends.sqlite3', 'NAME': BASE_DIR / 'db.sqlite3', } }
- Untuk MySQL:
DATABASES = { 'default': { 'ENGINE': 'django.db.backends.mysql', 'NAME': 'nama_database_anda', 'USER': 'root', 'PASSWORD': 'kata_sandi_anda', 'HOST': 'localhost', 'PORT': '', 'OPTIONS': { 'charset': 'utf8mb4' } } }
- Untuk SQLite (default):
- Pastikan database sudah dibuat jika menggunakan MySQL (misalnya, via phpMyAdmin atau perintah MySQL).
-
Jalankan perintah berikut untuk membuat tabel berdasarkan model:
python manage.py makemigrations python manage.py migrate
-
Buat admin dengan kode berikut:
python manage.py createsuperuser python manage.py populate_kalender //Opsional isi database otomatis periode 2023/2024-2024/2025
- Pastikan semua komponen berjalan di terminal terpisah dan mengaktifkan virtual(ENV/env):
-
Jalankan Server Django:
- Buka terminal baru di direktori root proyek (
KalenderAkademik-capstone/kalenderAkademik):Cek localhost di browser http://localhost:8000/python manage.py runserver
- Buka terminal baru di direktori root proyek (
-
Cek Redis apakah berjalan:
- Cek service:
WIN + R Input: services.msc Cari name redist, pastikan status running
- Cek service:
-
Jalankan Celery Beat dan Worker:
- Buka dua terminal baru di direktori root proyek (
KalenderAkademik-capstone/kalenderAkademik):- Semua terminal harus mengaktifkan env(env\scripts\activate)
- Terminal 1 (Celery Beat):
celery -A kalenderAkademik beat --loglevel=info
- Terminal 2 (Celery Worker):
celery -A kalenderAkademik worker --loglevel=info --pool=threads
- Buka dua terminal baru di direktori root proyek (
-
Jalankan Server WhatsApp (Node.js):
- Buka terminal baru, masuk ke direktori
whatsapp-server:cd whatsapp-server npm install express whatsapp-web.js qrcode-terminal body-parser cors # Instal dependensi Node.js node server.js
- Autentikasi WhatsApp: Saat pertama kali menjalankan
server.js, sebuah QR code akan muncul di terminal. Buka aplikasi WhatsApp di ponsel, masuk ke menu "Perangkat Tertaut" (Linked Devices), lalu scan QR code tersebut untuk menghubungkan akun WhatsApp.
- Buka terminal baru, masuk ke direktori
-
- Buka browser dan akses
http://127.0.0.1:8000/admin/untuk masuk ke Django admin. - Login dengan superuser (buat jika belum ada dengan
python manage.py createsuperuser). - Tambahkan kegiatan dan notifikasi via admin, lalu periksa apakah notifikasi dikirim sesuai jadwal (1 hari dan 1 jam sebelum
tgl_mulai).
- Pastikan semua terminal tetap terbuka selama pengujian.
- Jika ada error, periksa log di terminal Celery atau server Node.js.
- QR code untuk WhatsApp hanya perlu di-scan sekali, kecuali jika sesi logout atau server di-restart.
MIT License.