Inventory Manager WebApp

About the project

During my three months internship at LINKgroup my two colleagues and I made an inventory management web application. The application covers all needed functionalities from the basics of adding products, adding inventories to allocating products in quantity, or as a lot to desired inventories. My contribution to the project was designing the look and feel of the application, designing and implementing CRUD operations for enterprises, enterprise units, spaces, and inventories. Besides the CRUD operations, my task was to implement functionalities like allocating products from one inventory to another one, also allocating inventories from one building to another one. I made a history tracker, which tracks every change in the application and is ready and on-demand for the administrators. In this presentation, I will be presenting only my contributions.

Adding inventories

We can add new inventories in our empty rooms/spaces etc. Every building is connected with its enterprise. When we are adding inventories, we can choose in which room/space it goes. The dropdown is dynamically filled with all rooms/spaces in our database.

Deleting inventories

When deleting an inventory you can choose, will you delete the product from the inventory or allocate it to a special inventory named 'unallocated products'. The products are soft deleted, which means that if they are deleted by accident they can be recovered with the help of an administrator.

Allocating products

When viewing all products in one inventory, you can select multiple products and allocate them to any other inventory or delete all selected. Or as fast action, you can allocate all products from one inventory to another.

Everything is connected

Every entity is connected. That means if you delete the core 'enterprise', all connected enterprise units, spaces, inventories, and products will be also deleted. You can choose will the products be deleted or allocated to the 'unallocated products' inventory. This applies to all entities that have 'child' entities.

And finally... everything is tracked

Every entity change, from a simple change to deleting an entity is tracked. Every state like create, update, delete, allocate is tracked for every entity.