MyAlsens — Portal Alumni SMA 6
Platform komunitas alumni SMA Negeri 6 Semarang: forum, UMKM, KTA digital, donasi, event & loker
Tentang Project
MyAlsens (Alsens Indonesia) adalah platform digital alumni SMA Negeri 6 Semarang yang menyatukan forum sosial, direktori UMKM, berita, kegiatan, donasi, event, loker, iklan, hingga kartu anggota digital dalam satu sistem.
Dibangun sebagai monorepo pnpm + Turborepo: apps/web (Next.js 14) untuk portal publik, apps/admin untuk panel, apps/api (Express + Zod + Helmet) sebagai REST API, serta packages/db (Prisma + PostgreSQL) dan packages/ui. Redis dipakai untuk cache permission, refresh token, dan rate limit. Autentikasi memakai JWT access 15 menit + refresh 7 hari dengan bcrypt, email via Resend, upload gambar diproses sharp ke WebP, dan pembayaran lewat Pakasir. Deployment memakai Docker Compose di belakang Cloudflare Tunnel dengan domain myalsens.com, admin.myalsens.com, dan api.myalsens.com.
Fitur Utama
ChitChat Alumni
Forum sosial ala Facebook: PostComposer, PostCard, like, komentar inline, bagikan, filter kategori
KTA Digital
Kartu anggota untuk alumni terverifikasi, download PNG via Canvas API dengan QR code rounded
UMKM Governance
Siklus PENDING → APPROVED → SUSPENDED dengan banding, laporan member, dan audit log
Donasi & Event
Campaign donasi dengan progress bar, event tiket multi-jenis, QR check-in, scan barcode, refund
RBAC per Halaman
Permission page:* per menu admin, role custom, cache Redis 5 menit, blokir sebelum render
Berita, Kegiatan, Loker, Iklan
Konten publik plus kontribusi member (khusus pemilik KTA aktif) dengan alur approval admin
Keamanan
JWT rotation, bcrypt 12 rounds, CSRF header + origin validation, Helmet, HPP, rate limit, IP blocking
Deploy Docker + Cloudflare
Docker Compose di belakang Cloudflare Tunnel, plus Worker untuk mode maintenance