← All work

Organisational MIS platform

An internal database management platform, with other business systems built on top of that same shared data.

Role
Designed and developed together with a team
Period
Mar 2024 – present
Stack
Node.jsExpressMongoDBVue 3Socket.IO

A Management Information System for an organisation that needed to manage all of its internal data in one place — staff records, asset records, and the rest of its operational data.

The problem

The organisation ran several kinds of approval work, each stored in a separate system. Staff records and access rights were duplicated across all of them, adding one employee meant doing the work several times over, and there was no way to tell which desk a submitted request was sitting on.

The approach

The platform was split into two layers.

A core system holds the data everything else depends on — user identity, access rights, the organisation's master records, approval route definitions, and notifications.

Business systems that connect to the core. Each one stores only its own data and calls the core to check who a user is and what they may do, and to send notifications. A single call from a business system fans a notification out through the system itself, LINE, and email.

The result

New applications can be added without changing the core — equipment lending · room booking · vehicle booking · online forms with configurable approval routing and automatic Word document generation · project and budget management · staff evaluation.

The technically hardest parts of this platform were syncing approved bookings to Outlook and Microsoft 365 calendars, importing a full term's worth of recurring room schedules from Excel files, and automatically cancelling requests left pending while emailing the person who submitted them.

The platform remains in use and receives new releases on an ongoing basis.

This is an internal organisational system, so it cannot be opened publicly and its source cannot be published. Get in touch if you would like more technical detail.