Platform Kalender Akademik Interaktif Universitas Pamulang
Pantau jadwal perkuliahan, masa registrasi, pembayaran kuliah, pekan ujian (UTS/UAS), tugas dosen, dan hari libur secara terstruktur, cepat, dan responsif.
- Timeline Real-Time & Status Otomatis: Menampilkan agenda aktif (Sedang Berlangsung), Akan Datang, dan Telah Selesai dengan kalkulasi sisa hari dan progres periode.
- Pencarian Cepat & Filter Multi-Kategori: Pencarian teks dengan debouncing (shortcut
/) dan filter kategori (PMB, Pembayaran & Registrasi, Perkuliahan, UTS/UAS, Tugas Dosen, Libur, Umum). - Bookmark & Favorit: Simpan agenda penting secara lokal (localStorage) untuk akses instan.
- Ekspor Kalender: Ekspor 1-klik seluruh agenda ke format standar
.ics(kompatibel dengan Apple Calendar, Google Calendar, Outlook) dan link instan ke Google Calendar per kegiatan. - Mode Terang & Gelap: Deteksi otomatis preferensi sistem (
prefers-color-scheme) dengan opsi switcher manual. - Performa Tinggi & Ramah Aksesibilitas: Waktu muat instan (0ms latency initial render), virtualisasi render
content-visibility: auto, serta kepatuhan penuh standar aksesibilitas WCAG AAA. - PWA & Dukungan Offline: Siap diinstal sebagai aplikasi Web (Progressive Web App) pada perangkat desktop dan seluler.
| Kategori | Teknologi |
|---|---|
| Core Framework | Preact (10.x) + Preact Iso |
| State Management | @preact/signals (Fine-grained reactive state) |
| Styling & UI | TailwindCSS v4 + DaisyUI v5 |
| Icons | Lucide Icons (lucide-preact) |
| Date & Time | Day.js (Locale Indonesia & Timezone Asia/Jakarta) |
| Build Tool | Vite |
| Package Manager | pnpm |
unpam-agenda/
├── .github/
│ └── workflows/
│ └── deploy.yml # Otomasi build & deploy ke GitHub Pages
├── public/
│ ├── icon.png # Logo resmi aplikasi
│ ├── kalender-akademik.json # Data kalender akademik statis publik
│ ├── og-image.png # Open Graph social preview banner (1200x630)
│ ├── site.webmanifest # Manifest PWA
│ └── sw.js # Service Worker PWA
├── src/
│ ├── components/
│ │ ├── common/ # Header, Footer, Control Flow, SEO Head, FAB
│ │ ├── dashboard/ # Cards, Modals, Search Bar, Metrics, Section
│ │ └── views/ # HomeView, NotFoundView
│ ├── context/
│ │ ├── agenda-context.jsx # State manajemen agenda dengan Preact Signals
│ │ └── theme-context.jsx # Pengatur tema (Light/Dark)
│ ├── data/
│ │ └── kalender-akademik.json # Sumber data modul kalender akademik
│ ├── utils/
│ │ ├── calendar-export.js # Generator file .ics dan link Google Calendar
│ │ └── date-helpers.js # Helper format tanggal & kategori (Day.js)
│ ├── app.jsx # Root komponen aplikasi & routing
│ ├── index.css # Styling global TailwindCSS v4 & tema
│ └── main.jsx # Entry point aplikasi
├── index.html # HTML template dengan SEO & Open Graph meta
├── package.json
└── vite.config.js # Konfigurasi Vite (Base URL relatif)
- Node.js versi 18 atau lebih baru.
- pnpm terpasang (
npm install -g pnpm).
pnpm installpnpm devBuka browser di http://localhost:5173.
pnpm buildHasil build siap rilis akan dihasilkan di dalam folder dist/.
Proyek ini telah dikonfigurasi secara otomatis menggunakan GitHub Actions (deploy.yml):
- Pastikan fitur GitHub Pages diaktifkan pada repository Anda:
Settings > Pages > Source: GitHub Actions. - Setiap kali Anda melakukan
git pushke branchmain, alur kerja GitHub Actions akan secara otomatis menguji, mem-build, dan mempublikasikan website ke URL GitHub Pages Anda.
Didistribusikan di bawah Lisensi MIT.