This is an Inventory Management take home assignment, bootstrapped with react-native cli
.
The company Construction Machine Management Inc. manages a fleet of diverse building machines and rents them out to building companies. The director Mr. Chechnik manages those with multiple paper staple folders. He would like to manage the inventory on his computer and asks you to develop an application for that purpose.
- Can have different machine types (bull dozers, cranes, chainsaws, ...).
- Can specify which attributes the machine type has once (weight, power, manufacturing date, ...).
- Can define attributes which can be date, text, checkbox or number.
- Can be able to update the attributes.
- Can be able to remove attributes that are no longer required
- Can create all machines of one type share attributes (all cranes have a model, weight, manufacture date as well as a maximum lift weight for example)
- Can pick one of the attributes as a title attribute for the machines of one type (For eg. model).
- Can set a title for a machine type (Chainsaw, Bulldozer, ...)
- Can be able to add new machine types as well as to edit or delete existing ones at any time
- Can have many machines of each machine type ( for example 6 chainsaws from different brands that have different characteristics)
- Can be able to filter by machine type (See all chain saws, all bull dozers, ...).
- Can see the filters in a drawer.
- Can see all machines grouped by their type on one screen.
- Can be able to add new machines as well as to edit or delete existing ones at any time.
- All changes are saved even after page reload.
- Can use the app on my mobile phone or tablet.
- Have a beautiful user interface.
Clone the respository:
git clone https://github.com/KhubaibQaiser/inventory-management.git
Install the dependencies:
yarn
Run the metro server:
yarn start
Start the app:
yarn ios
# or
yarn android
Make changes in the code, save and see them reflected on your simulator/emulator/device.
- React Native CLI
- TypeScript
- React Navigation
- React Native Paper
- React Native Date Picker
- Redux
- Redux Persist
- Redux Toolkit
Pick one attribute as the title.- Render all items group by their category on one screen.
- Make design responsive to support mobile phone and tablet.
- Improve UI.
Make routes typed. So that we can have strongly typed query params and navigation.