Skip to main content

Problem and Solution

The legacy workflow

DETI Maker Lab previously relied on a MediaWiki installation as its primary operational tool. Over time, several structural problems emerged:

Project creation was unstructured

Projects were created as hand-written wiki pages. There was no validation, no required fields, and no consistent format. New students often created pages incorrectly. Searching and filtering projects was effectively impossible.

Requisitions were manual and opaque

Equipment requests were made informally — via email, chat, or verbal communication. There was no central request record, no status tracking, and no structured approval step. Technicians had no dedicated view of pending requests.

Equipment tracking was disconnected

Snipe-IT was used to track physical inventory, but it was managed independently from the project and requisition data. Connecting a project to specific equipment, tracking which equipment was currently with which student group, and understanding return history required cross-referencing multiple systems manually.

Data was inconsistent and hard to maintain

The wiki accumulated stale pages, duplicates, and orphaned entries. Equipment articles used different formats and naming conventions. Cleaning and migrating this data required significant manual effort.

No role-based access to inventory management

Any user could navigate to the Snipe-IT dashboard. There was no programmatic enforcement of technician-only access to inventory operations.


Why a new system

The core insight is that projects and project groups should be the central organizing entity, not wiki pages.

A project-centred model allows:

  • structured project creation with validated forms,
  • requisitions attached to specific projects and traceable to their outcome,
  • technician-facing approval workflows with clear status transitions,
  • integration between the project record and the inventory system (Snipe-IT),
  • role-based access — students request, technicians approve and manage,
  • a mobile-accessible interface for quick status checks.

What the new system provides

ProblemSolution
Unstructured project pagesStructured project creation forms with validation
Informal requisitionsFormal requisition records with full lifecycle tracking
Disconnected inventorySnipe-IT integration — reservation, checkout, and check-in are detected automatically
No approval flowDedicated technician dashboard with approve/reject actions
No role enforcementSSO-based role assignment; technician-only Snipe-IT proxy access
Scattered historyStatus history table and in-app notifications
No mobile accessExpo/React Native mobile app
Legacy data loss riskPython migration CLI for importing legacy Wiki data

What is preserved

The system is designed to coexist with the existing installed base:

  • Snipe-IT remains the authoritative inventory management system. The new system does not replace it — it integrates with it.
  • Legacy data from the wiki can be imported using the migration tool. Existing project and equipment records are not discarded.
  • University SSO is used as the authentication source. No separate credential system is created.
info

The migration tool enables importing legacy users, projects, and equipment from a PostgreSQL dump of the old wiki database. See the Migration section for details.