Fix(Content): Corrected build instructions in and format of README.

This commit is contained in:
2025-02-25 17:36:23 +00:00
parent dd10b12197
commit 8a0d7e3576
2 changed files with 82 additions and 17 deletions

View File

@@ -1,39 +1,104 @@
Precision and Research Technology Systems Limited ## demo_partsERP
Website with online store Demo subproject of partsERP Enterprise Resource Planning system featuring the core product functionality.
This web app uses Python with Flask for the server and MySQL for the database.
Powered by flask ## Build And Run
# 0. Prerequisites
- Python 3.10
- npm
- Locally hosted MySQL database
enter virtual environment: # 1. Create Auth0 application for project
python -m venv VIRTUAL_ENVIRONMENT_NAME
run module bundler: # 2. (Optional) Create Google ReCAPTCHA service
NOTE: IF CONTACT US PAGE FORM FUNCTIONALITY IS REQUIRED, COMPLETE THIS STEP.
2.1. Go to the reCAPTCHA Admin Console and register your site: https://www.google.com/recaptcha/admin
2.2. Choose reCAPTCH v2
2.3. Generate and save keys for step 10
# 3. (Optional) Create bot email account
NOTE: IF CONTACT US PAGE FORM FUNCTIONALITY IS REQUIRED, COMPLETE THIS STEP.
3.1. Using your chosen email provider, create a new account for sending emails from the web server
# 4. Create and populate database
4.1. Sign into your local MySQL workspace
4.2. Run script static/MySQL/0000_combined.sql
# 5. Open the project in a new terminal window
5.1. Open a new terminal window
5.2. Navigate to the project with the following command
- cd path/to/project/main/directory
# 6. Create virtual environment
6.1. Terminal command
python3 -m venv env_demo_partsERP
# 7. Enter virtual environment
7.1. Terminal command
source env_demo_partsERP/bin/activate
# 8. Run module bundler
8.1. Terminal command
npm run build npm run build
host for machine: # 9. Install required python packages
python -m flask run 9.1. Terminal command
pip3 install -r requirements.txt
host for local network: # 10. Set required environment variables
python -m flask run --host=0.0.0.0 10.1. Windows command
SET variable_name=variable_value
10.2. Linux command
export variable_name=variable_value
10.3. Required variables
| Name | Purpose | Example Value |
| -------- | -------- | -------- |
| KEY_SECRET_FLASK | Private key for server encryption. | password123 |
| ID_AUTH0_CLIENT | Public identifier for project's Auth0 application. | erDasdku8asdncuSAAS88C71nSioRR2r |
| ID_AUTH0_CLIENT_SECRET | Private key for project's Auth0 application. | erDasdku8asdncuSAAS88C71nSioRR2rerDasdku8asdncuSAAS88C71nSioRR2r |
| DOMAIN_AUTH0 | Domain for requests related to project's Auth0 application. | dev-pdjf9043dsau7fas8fs.us.auth0.com |
| SQLALCHEMY_DATABASE_URI | Database connection string for SQLAlchemy. | mysql://db_user_name:db_password@127.0.0.1:3306/db_name |
| URL_HOST | Domain (and port as necessary) that the project is hosted on. | https://127.0.0.1:5000/ |
10.4. Optional variables
| Name | Purpose | Example Value |
| -------- | -------- | -------- |
| MAIL_DEFAULT_SENDER | Bot email address. Required for sending internal emails following form completion on Contact Us page. | bot@partsltd.co.uk |
| MAIL_CONTACT_PUBLIC | Company's public communications email address. Required for receiving internal emails following form completion on Contact Us page. | teddy@partltd.co.uk |
| MAIL_PASSWORD | Password for bot email account. Required for receiving internal emails following form completion on Contact Us page. | password123 |
| RECAPTCHA_PUBLIC_KEY | Public key for Google ReCAPTCHA. Required for bot-prevention mesaures on Contact Us page form.| erDasdku8asdncuSAAS88C71nSioRR2rerDasdku |
| RECAPTCHA_PRIVATE_KEY | Private key for Google ReCAPTCHA. Required for bot-prevention mesaures on Contact Us page form. | erDasdku8asdncuSAAS88C71nSioRR2rerDasdku |
# 11. Host project
Either
11.1. Host for local machine:
python3 -m flask run
11.2. Host for local network:
python3 -m flask run --host=0.0.0.0
files dedicated to each page: ## File Structure
CSS # Files dedicated to each page
CSS:
page page
HTML HTML:
page page
row row
JavaScript JavaScript:
page page
api api
router router
base - navigation buttons base - navigation buttons
MySQL MySQL:
get get
save save
table table
staging table staging table
audit table audit table
Python Python:
business object business object
controller controller
datastore datastore

View File

@@ -99,7 +99,7 @@ class ProductionConfig(Config):
# Set the configuration class based on the environment # Set the configuration class based on the environment
# You can change 'development' to 'production' when deploying # You can change 'development' to 'production' when deploying
config_env = os.getenv('FLASK_ENV', "development") config_env = os.getenv('FLASK_ENV', "production")
with open('app.log', 'a') as f: with open('app.log', 'a') as f:
print(f'config_env: {config_env}') print(f'config_env: {config_env}')
f.write(f'config_env: {config_env}\n') f.write(f'config_env: {config_env}\n')