Back to all work

Education

Onupom Shopno

Scholarship access and donor matching with anonymized fundraising and admin threat detection.

Laravel 11Vue 3Sanctum
Onupom Shopno screenshot 1
Onupom Shopno screenshot 2

Overview

Education platform enabling Bangladeshi students to access scholarships and donor matching through an anonymized fundraising system. Features a dual-key identity system (public anonymous_id + internal student_id) for privacy, CSRF protection across SPA domain boundaries, and SSOT enforcement across 141 PHP files using dedicated resolver classes.

Hard Problems

Challenge

Student identity privacy while enabling donor-student matching.

Solution

Dual-key system with anonymous_id for public-facing, curated fields only exposed to donors.

Challenge

CSRF token validation failing across SPA and API on different ports.

Solution

Vite proxy routing /api/* through localhost:5173 to achieve same-origin cookie handling.

Key Decisions

DecisionChoseOverBecause
Auth systemLaravel SanctumJWT/PassportNative SPA cookie workflow, simpler than refresh token rotation, built-in CSRF protection.

Tech Stack

languages

PHP 8.2TypeScriptJavaScript

frameworks

Laravel 11Vue 3Tailwind CSSPinia

data

MySQLLaravel Sanctum

tools

ViteComposerPHPUnitVitestPlaywright