# AgileStock CSC480A – AgileStock inventory management application **NOTE: Before cloning the repro, be sure to have git installed** - Windows: GitForWindows is a good installer. It adds terminal to right-click options as a plus! ``` https://gitforwindows.org/ ``` - Linux: use the terminal command, like below, for your OS. ```Bash # apt-get install git ``` ## Development Environment 1. Clone the repro to a local folder ``` git clone https://github.com/robhowe-A/AgileStock.git ``` 2. Create python's local environment ``` #create local env py -m venv ./env #start virtual environment cd ./env/Scripts/Activate.ps1 #install requirements py -m pip install -r ../../requirements.txt ``` 3. Start the web server ``` py -m app ``` ## Project Dependencies Imperative starting dependencies include: ### Python: Flask + PyMySQL - This project runs with Python, be sure to have Python 3.11 installed on the server. - It also requires Flask and PyMySQL; however, a yml workflow is set up to do the dependency installation automatically (unconfirmed workflow). ``` py -m pip install Flask py -m pip install PyMySQL ``` ### Database: MySQL database - MySQL installed on the same computer as the project runtime. Currently, the project is specific to MY installation. The username, password, and database are all hard coded in the project. - At the project's runtime connects to a MySQL database with (below) parameters. You'll need MySQL installed on the same computer. Then, change the code variables to your database instance parameters for username, password, database name. Host should be localhost if on the same computer: ```Python app.config['MYSQL_HOST'] = 'localhost' app.config['MYSQL_USER'] = 'root' app.config['MYSQL_PASSWORD'] = '' app.config['MYSQL_DB'] = '' ``` - MySQL Database: > +MySQL Server (Full) – community (mysql-installer-community-8.0.35.0.msi) > +MySQL Workbench (requires C++ Redistributable installation) > +Download link: https://dev.mysql.com/downloads/installer/ (mysql-installer-community-8.0.35.0.msi)