GithubHelp home page GithubHelp logo

sammdu / shopify-challenge-2022 Goto Github PK

View Code? Open in Web Editor NEW
0.0 1.0 0.0 134 KB

Full-Stack Inventory Management System | Shopify 2022 Summer Internship Technical Challenge

License: MIT License

Python 44.78% CSS 15.84% HTML 15.77% JavaScript 23.61%
flask sqlite sqlite3 jinja2 inventory-management python python3

shopify-challenge-2022's Introduction

Inventory Management System

Shopify 2022 Summer Internship Technical Challenge

TASK: Build an inventory tracking web application for a logistics company. We are looking for a web application that meets the requirements listed below, along with one additional feature, with the options also listed below.

Features

  • Basic CRUD functionality:
    • Create inventory items: either via the Add product button, or by Import from CSV
    • Edit product name and quantity
    • Delete products: via Delete selected button
    • View products on a web page
  • Additional feature:
    • One-button CSV export of product data: via Export all as CSV

Developed using Python, SQLite database, Flask, HTML, CSS, JavaScript, and displays a web-based user interface.

Screenshot

Main UI Screenshot

Prerequisites

Python

Please use Python version 3.9. Download and install Python3.9 from the official website: https://www.python.org/downloads/

Ensure you are able to access python from the command-line, verify by executing:

python3.9 --version

Should return the correct Python version number.

Packages

The following Python packages are used for this project:

Flask==2.0.2
Jinja2==3.0.3
mypy==0.931
mypy-extensions==0.4.3
types-Flask==1.1.6
types-Jinja2==2.11.9
types-Werkzeug==1.0.9
typing_extensions==4.0.1
Werkzeug==2.0.2

They are also found in requirements.txt.

Setup Instructions

1. Create a Python virtual environment

python3.9 -m venv shopify_env_2022

Enter the newly created Python virtual environment folder:

cd shopify_env_2022

2. Setup the project environment

Clone the project repository from GitHub:

git clone https://github.com/sammdu/Shopify-Challenge-2022.git

Enter the project repository folder:

cd Shopify-Challenge-2022

Activate the Python virtual environment in your terminal:

source ../bin/activate

After the previous step, you should see the following prompt prepended to your command prompt: (shopify_env_2022), which should be consistent with the Python virtual environment folder name.

Install required Python packages with pip:

pip install -r requirements.txt

Seeing the project in action!

Within an activated virtual environment in the project repository, simply execute the following command to start a Flask development server:

python3.9 ./main.py

This will start a server at http://127.0.0.1:5000/. Visit this address in your browser to see the project in action!

Testing

1. Type verification with mypy

In the project repository root, where the mypy.ini file is located, simply execute the following command to test for type violations:

mypy

shopify-challenge-2022's People

Contributors

sammdu avatar

Watchers

 avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.