SKSalajdin Kaçamak
Back to work
Independent project2025

Hemolife

Blood bank management system with dynamic, admin-editable RBAC

Full-stack (solo)hemolife.xyz
Next.jsTurbopackTypeScriptPrismaMySQLnext-intljoseTanStack Query

Overview

A Next.js blood-bank management platform covering donors, blood units and components, transfusions, patients, and inter-facility transfers — with a fully dynamic, admin-editable permission system rather than hardcoded roles.

Most role-based access control is hardcoded at build time. Hemolife needed real hospital-style flexibility: admins define roles and permissions at runtime, and a single user can hold multiple roles and switch between them without re-authenticating.

Highlights

  • Fully dynamic RBAC — Role/Permission/RolePermission/UserRole models plus a requirePermission() middleware, editable by admins with no deploy required.
  • Multi-role users with runtime role switching, across roughly 10 dashboard modules and 20 API resource groups.
  • Multi-facility inter-facility blood transfer workflow, on top of donor/unit/patient/transfusion tracking.
  • i18n via next-intl (English/Albanian), custom JWT auth (jose + bcryptjs, no external auth provider), and transactional email.
  • Seeded demo environment with accounts across five roles and two facilities for realistic QA.

Interested in something similar?

I'm open to full-stack engineering roles and select freelance projects.