Academic case study · ASE Coursework 01 · Group Project

IslandLink Sales Distribution Network

Group ASE coursework — a PHP MVC sales distribution network connecting customers, RDCs, head office, logistics, and system administration across Sri Lanka. Live demo at isdn.wuaze.com. This page documents the full system and my assigned contributions — not sole ownership.

Module

ASE Coursework 01 (Group Project)

Stack

PHP · Tailwind · MySQL · PWA

Hosted demo

isdn.wuaze.com

Project type

Group

ASE Coursework 01 · team delivery

Roles

8+

Customer · RDC · HO · Admin · Logistics …

Stack

PHP

Tailwind · MySQL · PWA · Chart.js

Live demo

Hosted

isdn.wuaze.com (shared hosting)

Overview

IslandLink Sales Distribution Network (ISDN) is a group ASE Coursework 01 submission — a PHP MVC web application for multi-role sales distribution across regional distribution centres. Customers order products; RDC staff fulfil and manage stock; head office oversees the network; system administrators manage users, products, and promotions. Built with Tailwind, MySQL, Google OAuth, Chart.js, FPDF, and PWA support.

Problem statement

IslandLink needs a sales distribution network connecting retail customers, regional distribution centres (RDCs), head office, logistics, and system administration — with order flows, stock transfers, role-specific dashboards, and delivery efficiency reporting across Sri Lanka.

  • Customers and sales refs place orders; RDC clerks/managers fulfil and track stock.
  • Head office needs network-wide visibility and RDC-wise delivery efficiency reports.
  • System administrators manage users, products, promotions, and audit logs.

Trust boundaries

  • Group ASE Coursework 01 — IslandLink Sales Distribution Network; not a commercial product.
  • This case study describes Yasas Pasindu Fernando's (25026764) assigned contributions from report §6 — not sole ownership of the entire system.
  • Live demo at isdn.wuaze.com runs on free shared hosting; an InfinityFree cookie consent gate may appear.
  • Features listed here are limited to coursework report evidence and repository screenshots.

My Personal Contribution

Officially assigned responsibilities for Yasas Pasindu Fernando (25026764) from coursework report §6. ISDN is a Group Project — teammates built RDC clerk/manager/driver modules, customer checkout, stock management, and other role surfaces in parallel.

MVC Architecture & Base UI Structure

Established the PHP MVC folder layout, routing conventions, shared header/footer/navigation, and Tailwind base UI structure used across role dashboards.

User Registration/Login Authentication

bcrypt password hashing, PHP sessions, RBAC, password reset flow, login alert email, and Google OAuth integration.

PWA Implementation

Web app manifest, standalone display mode, icon set (192/512), and service worker for installable coursework demo.

HEAD_OFFICE_MANAGER Dashboard

Head office manager dashboard with network-wide order visibility and management widgets.

SYSTEM_ADMINISTRATOR Dashboard & Profile

System administrator dashboard, user/product/promotion management surfaces, and profile editing.

RDC-Wise Delivery Efficiency Report

SQL aggregation for delivery efficiency metrics with CSV and FPDF PDF export paths.

Deployment & Hosting Setup

Shared hosting configuration, remote MySQL, domain setup, and SSL for the live isdn.wuaze.com demo.

Chapter 3 Implementation Documentation

Authored the implementation chapter in the group coursework report documenting architecture and build evidence.

Additional support work (documented in report §6)

  • Cross-cutting architecture guidance and security review for teammate modules.
  • Reusable dashboard layout patterns shared across RDC role views.
  • Auth email SMTP configuration and mail helper integration.
  • Database init/migrations support and seeder scripts.
  • Unit testing framework setup and Git workflow guidance for the team.
  • Pairing support when teammates were blocked on integration or deployment.

Objectives

Group coursework aims — implemented across the team codebase.

  • Deliver a PHP MVC web application with Tailwind UI and MySQL persistence.
  • Implement authentication with bcrypt, sessions, RBAC, password reset, login alert email, and Google OAuth.
  • Ship role-specific dashboards for customers, RDC staff, head office, logistics, and system administrators.
  • Support stock management, order checkout, payments, and RDC-wise delivery efficiency reporting with CSV/PDF export.
  • Deploy as a PWA with manifest, standalone mode, icons, and service worker.
  • Host on shared hosting with remote MySQL, domain, and SSL for coursework demonstration.

Timeline

  1. 01

    Group coursework brief

    ASE Coursework 01 — IslandLink Sales Distribution Network with multi-role PHP MVC web application.

  2. 02

    Architecture & allocation

    MVC structure, database migrations, and task split across team members including Yasas's auth/PWA/dashboard/report assignments.

  3. 03

    Auth & PWA foundation

    Registration/login, bcrypt RBAC, Google OAuth, password reset, manifest, icons, and service worker.

  4. 04

    Role dashboards

    Head office manager, system administrator, RDC, customer, and logistics dashboards built in parallel.

  5. 05

    Delivery efficiency reports

    RDC-wise SQL aggregation with CSV and FPDF PDF export for head office analytics.

  6. 06

    Deployment

    Shared hosting setup, remote MySQL, domain, SSL — live at isdn.wuaze.com.

  7. 07

    Documentation

    Group coursework report with §6 individual contribution; Chapter 3 implementation by Yasas.

Product deep dive

System modules with expandable detail — contribution labels reflect §6 assignments where applicable.

Landing & authentication

Public landing page with registration, login, forgot-password, and Google OAuth — bcrypt sessions and RBAC route users to role dashboards.

PHPbcryptGoogle OAuthTailwind
  • AuthController handles register, login, password reset, and Google callback.
  • Login alert email and session-based RBAC documented in coursework evidence.
  • Responsive Tailwind auth screens with mobile layouts.

Customer ordering

Customers browse products, manage cart, checkout, and track orders through role-specific dashboards with mobile-friendly views.

PHPMySQLTailwind
  • Product catalogue with search and category filters.
  • Cart and checkout with payment flow evidence in screenshots.
  • Order tracking and customer dashboard widgets.

Head office dashboard

Head office manager dashboard with network-wide order visibility — personally implemented as assigned coursework contribution.

PHPChart.jsTailwind
  • Dashboard aggregates orders and RDC metrics for head office oversight.
  • Shared MVC/Tailwind patterns reused across role dashboards.
  • Documented in coursework report §6 as Yasas's assigned deliverable.

System administrator

System administrator dashboard for users, products, promotions, audit logs, and profile management — assigned contribution area.

PHPMySQLTailwind
  • Admin surfaces for user and product management.
  • Promotion and audit log views for system oversight.
  • Profile editing for administrator accounts.

Delivery efficiency reporting

RDC-wise delivery efficiency report with SQL aggregation and CSV + FPDF PDF export — assigned contribution with export evidence.

SQLFPDFCSVChart.js
  • DeliveryReport model aggregates RDC delivery metrics.
  • CSV export via export_report_excel.php and PDF via FPDF.
  • Head office uses reports for network performance visibility.

PWA & deployment

Installable PWA with manifest, icons, and service worker; deployed to isdn.wuaze.com on shared hosting with remote MySQL and SSL.

PWAService WorkerShared hosting
  • manifest.json with standalone display and 192/512 icons.
  • service-worker.js for offline shell and install prompt.
  • Shared hosting deployment with domain and SSL configuration.

Architecture

ISDN follows PHP MVC architecture: browser requests route through index.php to controllers, which use models for MySQL queries and render Tailwind views. Cross-cutting auth, mail, PDF export (FPDF), and Chart.js dashboards support eight-plus role types across the distribution network.

  • Presentation

    Tailwind CSS views, PWA manifest/service worker, Chart.js dashboards, Leaflet/OpenStreetMap where used.

  • Controllers

    AuthController, DashboardController, SalesOrderController, ProductController, stock-management controllers, and role-specific dashboard controllers.

  • Models

    User, Order, Product, Rdc, StockTransfer, DeliveryReport, and related MySQL data access.

  • Infrastructure

    bcrypt auth, SMTP mail helper, FPDF exports, Google OAuth, session management, audit logs.

  • Data

    MySQL 8 with migration scripts, seed data, and remote hosting on shared infrastructure.

Database

MySQL 8 with numbered migration scripts in database/migrations/ and seeder support for demo dashboards.

  • Users with bcrypt-hashed passwords and role types (customer, admin, RDC roles, etc.)
  • Products, Categories, ProductStock, Promotions
  • Orders, OrderItems, Payments, OrderDelivery
  • RDCs, RDC districts, sales refs, clerks, managers, drivers
  • Stock transfers, stock movement logs, audit logs
  • Migration scripts in database/migrations/

Modules

Authentication

Register, login, bcrypt sessions, RBAC, password reset, login alert email, Google OAuth.

Customer & sales ref

Product browse, cart, checkout, order tracking, and sales-ref-assisted ordering.

RDC operations

Clerk/manager/driver dashboards, order fulfilment, promotions, and stock views.

Head office & admin

Network dashboards, user/product management, promotions, audit logs, delivery efficiency reports.

Stock management

Stock transfers, movement logs, request/send product units, and stock reports.

PWA & hosting

Installable PWA with service worker; deployed on shared hosting with remote MySQL and SSL.

Technology stack

PHP 8+Tailwind CSS 3MySQL 8Google OAuthPWA (manifest + service worker)Chart.jsFPDFLeaflet / OpenStreetMapSMTP emailMVC architecture

Challenges

  • Multi-role coordination

    Eight-plus role types required clear MVC boundaries and shared UI patterns so teammates could integrate modules without breaking auth.

  • Group Git workflow

    Coordinating feature branches, migrations, and deployment across multiple contributors on a shared codebase.

  • Shared hosting constraints

    Deploying PHP MVC with remote MySQL, SSL, and PWA assets on free/shared hosting with limited control.

  • Report aggregation

    RDC-wise delivery efficiency required careful SQL aggregation and consistent CSV/PDF export formatting.

Solutions

  • MVC architecture with shared header/navigation and reusable dashboard layouts.
  • Centralised AuthController with bcrypt, sessions, and Google OAuth for all roles.
  • Migration scripts and seed data for reproducible team environments.
  • FPDF and CSV export helpers shared between report modules.

Engineering decisions

  • PHP MVC with Tailwind for server-rendered coursework delivery.
  • MySQL 8 with numbered migration scripts and seeder support.
  • bcrypt password hashing with session-based RBAC.
  • PWA manifest + service worker for installable demo evidence.
  • FPDF for PDF exports; Chart.js for dashboard visuals; Leaflet/OpenStreetMap for map views.

Development process

  1. 01Group requirements analysis for IslandLink distribution network actors.
  2. 02MVC architecture design and task allocation across team members.
  3. 03Parallel module development: auth, dashboards, orders, stock, reports.
  4. 04Integration testing on XAMPP and shared hosting staging.
  5. 05PWA packaging and live deployment to isdn.wuaze.com.
  6. 06Group coursework report with individual contribution chapter (§6).

Testing

  • Manual functional testing across role dashboards and order/stock flows.
  • Auth testing: register, login, password reset, Google OAuth, RBAC routing.
  • Report export verification: CSV and FPDF PDF outputs for delivery efficiency.
  • PWA install and mobile layout checks on coursework devices.
  • Limitation: no full automated E2E suite in submitted coursework scope.

Lessons learned

  • Shared MVC conventions early prevent integration pain in group projects.
  • Auth and deployment should be owned by one contributor with clear hand-off docs.
  • Report SQL should be validated against seeded demo data before demo day.

Future improvements

  • Automated integration tests and CI/CD for migrations.
  • Stronger hosting with dedicated VPS instead of free-tier cookie gates.
  • API layer for mobile clients and real-time stock sync.
  • WCAG accessibility audit across Tailwind role dashboards.

Downloads

Live demo, group coursework report, and source. Free hosting may show an InfinityFree cookie gate before the app loads.

Demo credentials

These credentials are from the project README for local XAMPP setup only. The live isdn.wuaze.com demo does not publish portfolio demo accounts in the coursework PDF — use local setup or contact for viva access.

RoleEmailPassword
Administrator (local XAMPP)[email protected]admin123

Google OAuth client secrets, SMTP passwords, and remote MySQL credentials are never published here.

Conclusion

ISDN delivers a multi-role sales distribution network as a group ASE coursework submission — with PHP MVC architecture, bcrypt auth, PWA installability, role dashboards across the IslandLink network, and exportable delivery efficiency reports. My documented contributions cover auth, PWA, head office and admin dashboards, reporting, deployment, and implementation documentation — within a team-built system, not as sole author of the entire platform.