Makerhive

FeaturedReactTypeScriptNode.jsMySQLLess
Makerhive

Makerhive was an inventory management system allowing users to borrow, reserve and remotely view inventory of the school Makerspace. The Makerspace was a technology and creativity lab where students could use 3D printers, electrical tools to create Arduino projects, robots and even rockets. The space featured a large number of tools and components students could borrow, meaning keeping track of every item became difficult. As such, the Makerhive project was created; a central system to keep track of who is borrowing and using any given item from the Makerspace.

Makerhive home page

Designed with mobile at the forefront, the app is available as a Progress Web App, installable on phones, tablets, desktops and also accessible via any web browser. This provides offline support, rapid loading and navigation through the Single Page Application design.

Admins are able to manage inventory, upload images from their phones, view and edit loans, reservations and users in order to provide an accurate digital representation of the various tools present in the Makerspace. At the same time, students can mark items as borrowed or reserve items they take from the Makerspace to show staff and other students where items may be. Furthermore, students also receive reminders in the form of push notifications when a loan is overdue or a reserved item becomes available.

Makerhive item information page

Technologies

Frontend

  • React.js with Typescript
  • Less (CSS preprocessor)
  • Redux
  • Ant Design
  • Progressive Web App & Service Workers

Backend

  • Node.js with Typescript
  • Express
  • MySQL
  • VPS hosting
  • NGINX reverse proxy
  • Cloudflare proxy, caching & DNS management

Both the frontend and backend of this project are open-sourced on GitHub.