Generic Ecommerce website with comprehensive product filtering. The users registered as Vendors can post new products to the website, while users registered as Customers can purchase them.
- Upon navigating to the website, you'll be prompted to login to an account
- Choose to create an account as a customer or vendor
- Login to the account you created
- Once logged on, either user type can view vendor posted products through exact, similar, and requirement searches or logout
- Once logged on, a customer can add vendor products to their cart and look at products being recommended to them
- Once logged on, a vendor can post, edit, and delete items
Legend:
- bold = primary key
- italicized = foreign key
User:
- id (primary key)
- username (primary key)
- password
- is_vendor
- is_customer
Vendor:
- VID (foreign key)
- brand
- PID (foreign key)
Customer:
- CID (foreign key)
- PID (foreign key)
VendorProduct:
- PID (primary key)
- name
- cost
- category
- quantity
- payment_type
- product_description
- brief_description
- big_image
- small_image
- publish_date
- update_date
- VID
- Install XAMPP
- Get PHPMyAdmin working through running XAMPP MySQL and Apache modules
- Create a database called "BestBuy_RDMS" through PHPMyAdmin
- Install Python
- Setup a virtual environment if on Windows
- Clone this repo into a folder under your virtual environment
- Activate the virtual environment
- Navigate into outermost "mysite" folder
- Install all dependencies by running "pip install -r requirements.txt"
- Run "python manage.py makemigrations" and "python manage.py migrate" to consolidate and apply DB changes
- To get the SECRET_KEY and DB_PASS, request access from the repo owner
- Can run the "python manage.py createdata" command with an integer argument to create some test data
- Then, "python manage.py runserver"
- Navigate to "http://127.0.0.1:8000/BestBuySearch/products/" in your browser
- Refer to above "How to use" section for further instruction
- Database Server = PHPMyAdmin run with XAMPP
- IDEs = Spyder, Visual Studio, VSCode
- Version Control = Git
- Packages = mysqlclient, python-decouple, pillow, faker, faker-ecommerce, etc.
- Backend = Django
- Backend Languages = Python, SQL
- Frontend = Bootstrap
- Frontend Languages = HTML, CSS, JS
- Host = PythonAnywhere