Back to Projects

AAP

Activities, Assets & People (NLNG Estate Platform)

nlng.estateandhomes.ng

The Problem

NLNG's residential and industrial estates had no single channel connecting residents, staff, and estate administration. Incident reports, adverts, emergency contacts, facility and office-space bookings, and estate-wide announcements needed one place to live, across both web and mobile.

Constraints

  • Had to work as a native-feeling mobile app (iOS + Android) and a browser-based web app off one backend.
  • Approval-gated workflows: incident reports, broadcasts, and bookings all need staged, multi-level admin approval, not a simple CRUD flow.
  • File uploads (incident photos, adverts) needed secure storage kept in sync across both clients.
  • Chat between residents and estate admin couldn't rely on polling, it needed to feel instant.

How It Was Solved

  • A dedicated file service, built on Spring Boot and MongoDB, handling upload storage and sync so media stayed consistent between web and mobile.
  • WebSocket connections power the in-app chat between residents and estate admin, instead of polling for new messages.
  • Facility and space booking, including office space for members who need it, runs through a multi-level approval workflow rather than a single admin sign-off.

What I Built

  • Implemented Angular-based web features and integrated notification and WebSocket chat services to support resident-admin communication.

Result

  • Live in production for NLNG residential & industrial estates: web, iOS App Store, and Google Play
  • Ships facility and space booking with multi-level approval, incident reporting, adverts, broadcast messaging, surveys, and a resident discussion forum
AngularFlutterSpring BootPostgreSQLMongoDBWebSocket