This project was written as part of my internship with OneIlluminate, to replace and improve on a legacy in-house tool and has the following features:

  • Inventory of all “lab” machines
  • Management of “bookings” and “reservations” for systems, including with group based restrictions
  • Detailed reporting on utilisation
  • Full REST-ful API access to data in the system
  • Automatic synchronisation of system details to the database:
    • Hardware configuration
    • Installed PCIe cards (and serial numbers)
    • Software versions
  • MOTD updates on systems to detail current status
  • Warnings for devices that hadn’t been included in the inventory, and for address/location changes
  • Hardware loan tracking

The project was written using Django and Python, and deployed using Docker. The sync agents were a combination of Python scripts and Bash. The system was capable of continuous synchronisation with the old system to facilitate a seamless cutover without loss of data or disruption to users.

An early version of a subset of the source and documentation (MkDocs source) is available on my GitHub: Cores