E-Buy is a revolutionary E-Commerce website that connects merchants with customers.
- Login and register account functionality accessible through
/loginand/register - Account information, delete account, and change password accessible through
/account_info - Previous orders for customers accessible through
/orders - Merchant portal accessible through
/merchant- Merchant login/register accessible through
/merchant/loginand/merchant/register - Create a new product accessible through
/merchant/new_product- Merchants can view and fill orders through
/merchant/orders
- Merchants can view and fill orders through
- Merchants can create a new promotion for their products at
/merchant/promo
- Merchant login/register accessible through
- Product pages with the url
/product/<id>- Add to cart functionality with quantity on product pages
- Product reviews for customers that have ordered a product
- Displays product images uploaded by merchant
- Product catalogs with the url
/catalog/<id> - Merchant catalog accessible through
/merchant/<id> - REGEX search accessible through search form in the navbar
- Cart located at
/cartfor logged-in users- Checkout cart link located in the cart
- Checkout with discount code support
- Available discounts accessible at
/discounts - Admin page accessible from
/admin/promo
Please make sure python 3 is installed (working on python 3.8).
- Download the library as a zip or by cloning it using
git clone https://github.com/NathanCYee/131_project.git - Navigate to the folder in which the project is stored (e.g.
cd 131_project) - Install the prerequisites using
pip install . - Decide if you want to create a new database or use the provided database
- If you want to create a new database, setup and create the database by running the create_db.py file
using
python3 create_db.py - If you are using the sample database, every account has the password
password- Merchant accounts:
SUPREME,Hondipo,Gamestomp,Worst-Buy - Discounts visible at
/discounts - Admin account:
admin(login from customer portal)- access promo page at
/admin/promo
- access promo page at
- Merchant accounts:
- If you want to create a new database, setup and create the database by running the create_db.py file
using
- Run the webapp by running
python3 run.py - If run on a local machine, site will be accessible at
localhost:5000orhttp://127.0.0.1:5000/from a browser
If errors occur with jinja, try to manually upgrade flask by using pip install --upgrade Flask.
Project was built with:
- Python 3.8
- Flask - Web framework for python
- Flask-SQLAlchemy - ORM for SQL databases that connects with Flask
- Flask-login - User session management (login/logout) for flask
- flask-wtf - Form creation, validation, and management for Flask
- Pytest - Unit testing library for python
- Bootstrap - Web component library
- Bootstrap Icons - Icons provided by bootstrap
- vinorodrigues/bootstrap-dark-5 - Toggleable dark mode for bootstrap
- CircleCI - Continuous integration/deployment
- Codecov - Code coverage metrics
- Gantt Chart - Chart to track team's progress on development
- Documentation - Code documentation for the app package.
- Sarah Singh-LEAD (@SarahS16)
- Selim Ishakbeyoglu (@SelimIshakb)
- Nicholas (@StickOnAStick)
- Nathan Yee (@NathanCYee)