Events Portal | ScoutsMv
A ground-up rebuild of the International Events Portal for The Scout Association of Maldives — a decoupled Next.js + Laravel platform for managing events, members, finance, and communications with role-based access.

Overview
- Complete rebuild of the legacy IEP on a modern, scalable, decoupled stack.
- Next.js 15 App Router frontend backed by an API-only Laravel 11 service, with Sanctum SPA token authentication.
- Role-based access across five roles — Administrator, CMT, Leader, Scout, and Group Administrator — enforced server-side with Laravel policies.
- Fourteen functional modules covering events, members, finance, communications and records.
- Ooredoo SMS gateway and DigitalOcean Spaces file storage; deployed on a DigitalOcean droplet behind Nginx with PM2.
Modules
Fourteen functional areas: dashboard, users & sessions, events, finance/payments, activity logs, notices, passport-collection tracking, health records, release letters, file resources, an SMS composer & log, support tickets, profile, and settings.
Role-based access control
Five roles — Administrator (full access), CMT (finance, users, events, SMS, logs), Leader, Scout, and Group Administrator (endorses scouts in their group) — each scoped to the right data and enforced with server-side Laravel policies rather than UI checks alone.
Architecture
A decoupled monorepo: an API-only Laravel 11 backend (enums, models, policies, services) and a Next.js 15 App Router frontend communicating over Sanctum token auth. Charts render with Recharts, files live on DigitalOcean Spaces, and SMS goes through the Ooredoo gateway.