An inventory management web application for the Shopify backend developer intern challenge. The application is built using NodeJS (w/ express) and MongoDB (w/ mongoose). Since this challenge is focussed on the back end, the client code (made with React) is not provided. Instead a production version is stored in the build directory. Thus, you can easily just focus on the back end code.
Feel free to skip a step if you already have the prerequisite, this guide will assume no background knowledge of the technologies used. The two prerequisite required to run this application are NodeJS and MongoDB.
- Install NodeJS for your OS here
- Install MongoDB Community Server for your OS here.
- Create a empty directory named mongodb-data in the same directory where you installed MongoDB.
Once the installation is complete, we will first need to run the MongoDB server locally. Navigate to the folder where you installed it. In there, please enter the bin directory. It should look something like this:
- Open the terminal in this directory and run the following command:
For Mac/Linux
mongod --dbpath=[PATH FOR mongodb-data]
For Windows
start mongod.exe --dbpath=[PATH FOR mongodb-data]
You have done this correctly when a terminal looking like this opens up.
- Clone the repo using the following command
git clone git@github.com:Dhairya-Khara/shopify-backend-development.git
- Navigate to the root direcotry of the project and run
npm install
- We can finally start the web server
npm run start
- Open a web browser at http://localhost:3000/
- Create Inventory Items
- Reading Inventory Items (all of them and a particular item)
- Updating Inventory Items
- Deleting Inventory Items
Additional Feature
- Allow image uploads AND store images with generated thumbnails.