This is my submission to Shopify's Back End Developer Intern Challenge for Summer 2022!
- Create, Read, Update, Delete operations on inventory items
- Supports image upload and storage
- Node/Express backend
- AWS S3 for storing image thumbnails
- MongoDB for storing inventory items
/server
contains the backend code/client
contains the frontend code
- Node v14.17.1
- AWS S3 Bucket // make sure the ACLs enabled option is selected
- An available MongoDB cluster
Clone the project git clone https://github.com/swongg/shopify-back-end-challenge.git
Backend
- In the project's
/server
directory, runnpm install
- In the
/server/db
directory, create a file named .env and add
DB_URL="mongodb+srv://<username>:<password>@cluster0.xfgzh.mongodb.net/databasename?retryWrites=true&w=majority"
Please note to replace username, password and databasename with your db cluster's actual values - In the
/server/controllers
directory, create a .env file and addAWS_ACCESS_KEY_ID=""
andAWS_SECRET_ACCESS_KEY=""
. Replace the empty strings with your AWS credentials which can be found by following these instructions - Download the AWS CLI and in your favourite terminal, run
aws configure
. Enter your AWS Access Key ID and AWS Secret Access Key from step 3 - In the
/server
directory, runnpm run start
Frontend
- In the project's
/client
directory, runnpm install
- In the same directory, run
npm run start
to start the React application