├── __pycache__ ├── admin.cpython-311.pyc ├── utils.cpython-311.pyc ├── customer.cpython-311.pyc └── database.cpython-311.pyc ├── datasets ├── AirpodesData.csv ├── AirpodesPriceData.csv ├── iPhoneData.csv ├── WatchData.csv ├── WatchPriceData.csv ├── iPhonePriceData.csv └── Database.csv ├── __init__.py ├── utils.py ├── database.py ├── main.py ├── admin.py ├── customer.py └── README.md /__pycache__/admin.cpython-311.pyc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Atharvkote/python-file-handling/HEAD/__pycache__/admin.cpython-311.pyc -------------------------------------------------------------------------------- /__pycache__/utils.cpython-311.pyc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Atharvkote/python-file-handling/HEAD/__pycache__/utils.cpython-311.pyc -------------------------------------------------------------------------------- /__pycache__/customer.cpython-311.pyc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Atharvkote/python-file-handling/HEAD/__pycache__/customer.cpython-311.pyc -------------------------------------------------------------------------------- /__pycache__/database.cpython-311.pyc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Atharvkote/python-file-handling/HEAD/__pycache__/database.cpython-311.pyc -------------------------------------------------------------------------------- /datasets/AirpodesData.csv: -------------------------------------------------------------------------------- 1 | Product,Quantity 2 | Apple Airpods 4,12 3 | Apple Airpods 2,15 4 | Apple Airpods Pro,10 5 | Apple Airpods 3,18 -------------------------------------------------------------------------------- /datasets/AirpodesPriceData.csv: -------------------------------------------------------------------------------- 1 | Product,Price 2 | Apple Airpods 4,120000 3 | Apple Airpods 2,15000 4 | Apple Airpods Pro,10000 5 | Apple Airpods 3,10800 6 | -------------------------------------------------------------------------------- /__init__.py: -------------------------------------------------------------------------------- 1 | from .database import user_input_saver 2 | from .database import user_input_saver, read_data_from_csv, write_data_to_csv 3 | from .utils import Id_Generator,display_product_list 4 | import csv 5 | -------------------------------------------------------------------------------- /datasets/iPhoneData.csv: -------------------------------------------------------------------------------- 1 | Product,Quantity 2 | iPhone 12,20 3 | iPhone 12 Plus,49 4 | iPhone 12 Pro Max,10 5 | iPhone 13,20 6 | iPhone 13 Plus,11 7 | iPhone 13 Pro Max,9 8 | iPhone 14,4 9 | iPhone 14 Plus,16 10 | iPhone 14 Pro Max,5 11 | -------------------------------------------------------------------------------- /datasets/WatchData.csv: -------------------------------------------------------------------------------- 1 | Product,Quantity 2 | Apple Watch Series 9 (2023),12 3 | Apple Watch Ultra 2 (2023),15 4 | Apple Watch Series 8 (2022),10 5 | Apple Watch Ultra (2022),18 6 | Apple Watch SE (2nd generation) (2022),11 7 | Apple Watch Series 7 (2021),9 -------------------------------------------------------------------------------- /datasets/WatchPriceData.csv: -------------------------------------------------------------------------------- 1 | Product,Price 2 | Apple Watch Series 9 (2023), 120000 3 | Apple Watch Ultra 2 (2023),150000 4 | Apple Watch Series 8 (2022),100000 5 | Apple Watch Ultra (2022),180000 6 | Apple Watch SE (2nd generation) (2022),110000 7 | Apple Watch Series 7 (2021),90000 -------------------------------------------------------------------------------- /datasets/iPhonePriceData.csv: -------------------------------------------------------------------------------- 1 | Product,Price 2 | iPhone 12,115000 3 | iphone 12 Plus,120000 4 | iphone 12 Pro Max,130000 5 | iPhone 13,1400000 6 | iphone 13 Plus,125000 7 | iphone 13 Pro Max,115000 8 | iPhone 14,125000 9 | iphone 14 Plus,120200 10 | iphone 14 Pro Max,150000 -------------------------------------------------------------------------------- /utils.py: -------------------------------------------------------------------------------- 1 | from random import randint 2 | 3 | def Id_Generator(): 4 | order_id = randint(100000, 999999) 5 | return order_id 6 | 7 | def display_product_list(product, prices): 8 | for product, price in prices.items(): 9 | print(f"● Product: {product}\n Price : ₹{price}/-") 10 | print(" ") 11 | -------------------------------------------------------------------------------- /datasets/Database.csv: -------------------------------------------------------------------------------- 1 | Order ID,Product,Price,Quantity,Amount,Customer Name,State,District,City,Pincode,Status 2 | 100001,iphone 14 Pro Max,150000,3,450000,Atharva Kote,Maharasthra,Ahmednagar,Shirdi,42103,Shipping 3 | 802938,iphone 14 Pro Max,150000,4,600000,Sairaj Naikwade,Maharathra,Ahilyanagar,Komkamthan,4239107,Shipping 4 | 976836,iphone 14 Pro Max,150000,2,300000,Pranav Mulay,Maharathra,Ahilyanagar,Shavgoan,4310978,Out For Delivery 5 | 852006,iphone 14 Plus,120200,2,240400,Pranav Mulay,Maharathra,Ahilyanagar,Shavgoan,4356238,Shipping 6 | 332916,iPhone 13,1400000,3,4200000,Harshad Shinde,Maharathra,Ahilyanagar,Shirdi,423109,Shipping 7 | 946539,iPhone 12,115000,1,115000,SaiKishan Shelar,Maharastra,AhilyaNagar,Kopargaon,423601,Out For Delivery 8 | 472896,iPhone 14,125000,3,375000,Aditya Mundhe,Maharthata,Ahilyanagar,Yeola,43029,Company Outlet 9 | -------------------------------------------------------------------------------- /database.py: -------------------------------------------------------------------------------- 1 | import csv 2 | 3 | def read_data_from_csv(filename): 4 | data = {} 5 | with open(filename, newline='') as file: 6 | reader = csv.reader(file) 7 | next(reader) # To Skip header row 8 | for row in reader: 9 | data[row[0]] = int(row[1]) 10 | return data 11 | 12 | def user_input_saver(order_id, Ordername, price_1, user_ip, total_price, us_name, us_state, us_dist, us_city, us_pin): 13 | file_name = 'DataBase.csv' 14 | with open(file_name, mode='a', newline='') as file: 15 | writer = csv.writer(file) 16 | if file.tell() == 0: 17 | writer.writerow(['Order ID', 'Product', 'Price', 'Quantity', 'Amount', 'Customer Name', 'State', 'District', 'City', 'Pincode']) 18 | writer.writerow([order_id, Ordername, price_1, user_ip, total_price, us_name, us_state, us_dist, us_city, us_pin]) 19 | 20 | def write_data_to_csv(filename, data): 21 | with open(filename, mode='w', newline='') as file: 22 | writer = csv.writer(file) 23 | writer.writerow(['Product', 'Quantity']) 24 | for product, quantity in data.items(): 25 | writer.writerow([product, quantity]) 26 | -------------------------------------------------------------------------------- /main.py: -------------------------------------------------------------------------------- 1 | from customer import shopping_process, track_order 2 | from admin import status_updation_menu, stock_upadation_menu, login_process 3 | from database import read_data_from_csv 4 | 5 | iPhoneList=read_data_from_csv('iPhoneData.csv') 6 | WatchList=read_data_from_csv('WatchData.csv') 7 | AirpodesList=read_data_from_csv('AirpodesData.csv') 8 | iPhonePrice=read_data_from_csv('iPhonePriceData.csv') 9 | WatchPrice=read_data_from_csv('WatchPriceData.csv') 10 | AirpodesPrice=read_data_from_csv('AirpodesPriceData.csv') 11 | def main(): 12 | choice = int(input("[PRESS 1] : ADMIN ACCESS\n[PRESS 2] : Continue as a Customer\n")) 13 | 14 | if choice == 2: 15 | print("[PRESS 1] : Access Products Available\n[PRESS 2] : Track My Order Product\n") 16 | choice_4 = int(input("Enter Your Choice: ")) 17 | if choice_4 == 1: 18 | shopping_process(iPhoneList, iPhonePrice ,WatchList,WatchPrice, AirpodesList,AirpodesPrice ) 19 | elif choice_4 == 2: 20 | order_id_by_customer = input("Enter Product ID: ") 21 | track_order(order_id_by_customer) 22 | else: 23 | print("Invalid Choice") 24 | elif choice == 1: 25 | if login_process(): 26 | print("[PRESS 1] : Stock Updation\n[PRESS 2] : Product Status Updation\n") 27 | choice_4 = int(input("Enter Your Choice: ")) 28 | if choice_4 == 1: 29 | stock_upadation_menu() 30 | elif choice_4 == 2: 31 | status_updation_menu() # Ensure you have this function in the appropriate module 32 | else: 33 | print("Invalid Choice") 34 | else: 35 | print("Invalid Choice") 36 | 37 | if __name__ == "__main__": 38 | main() 39 | -------------------------------------------------------------------------------- /admin.py: -------------------------------------------------------------------------------- 1 | from database import write_data_to_csv, read_data_from_csv 2 | import csv 3 | admin_credentials = { 4 | 'Atharva@123': '74', # Admin 1 5 | 'Sairaj@123': '92', # Admin 2 6 | 'Tushar@123': '90' # Admin 3 7 | } 8 | iPhoneList=read_data_from_csv('iPhoneData.csv') 9 | WatchList=read_data_from_csv('WatchData.csv') 10 | AirpodesList=read_data_from_csv('AirpodesData.csv') 11 | def login_process(): 12 | max_attempts = 3 13 | login_attempts = 0 14 | while login_attempts < max_attempts: 15 | username = input("Enter Admin ID: ") 16 | password = input("Enter Password: ") 17 | 18 | if username in admin_credentials and admin_credentials[username] == password: 19 | print("Login Successful !!!") 20 | return True 21 | else: 22 | login_attempts += 1 23 | print("Invalid username or password. Please try again.") 24 | print(f"Remaining attempts: {max_attempts - login_attempts}") 25 | print("ACCESS DENIED !!!!!\nMaximum login attempts exceeded. Please try again later !!.") 26 | return False 27 | 28 | def stock_updation(product_list, filename): 29 | user_input = input("Enter Name Of the Product Whose Stock YOU Want To Update : ").lower() 30 | matching_products = [product for product in product_list.keys() if user_input in product.lower()] 31 | 32 | if matching_products: 33 | print("Matching Products:") 34 | for i, product in enumerate(matching_products, 1): 35 | print(f"{i}. {product}") 36 | 37 | product_choice = input("Enter the number of the product you want to update: ") 38 | if product_choice.isdigit() and 1 <= int(product_choice) <= len(matching_products): 39 | chosen_product = matching_products[int(product_choice) - 1] 40 | added_stock = int(input("Enter Added Quantity of the Product : ")) 41 | product_list[chosen_product] += added_stock 42 | print(f"{chosen_product} Stock Updated!") 43 | write_data_to_csv(filename, product_list) 44 | else: 45 | print("Invalid product choice!") 46 | else: 47 | print("Product not found") 48 | 49 | def stock_upadation_menu(): 50 | if login_process(): 51 | print(":::::::::Stock Updation:::::::::::") 52 | print("To Update SmartPhone [PRESS 1]\nTo Update Watch [PRESS 2]\nTo Update Airpodes [PRESS 3]\nTo Update MacBook [PRESS 4]") 53 | choice_3 = int(input("Enter Your Choice: ")) 54 | if choice_3 == 1: 55 | stock_updation(iPhoneList, 'iPhoneData.csv') 56 | elif choice_3 == 2: 57 | stock_updation(WatchList, 'WatchData.csv') 58 | elif choice_3 == 3: 59 | stock_updation(AirpodesList, 'AirpodesData.csv') 60 | elif choice_3 == 4: 61 | stock_updation(AirpodesList, 'AirpodesData.csv') 62 | else: 63 | print("Invalid Choice ") 64 | 65 | def update_order_status(order_id, new_status): 66 | order_id = order_id.lower() 67 | 68 | with open('DataBase.csv', mode='r') as file: 69 | reader = csv.DictReader(file) 70 | orders = list(reader) 71 | 72 | for order in orders: 73 | if order['Order ID'] == order_id: 74 | order['Status'] = new_status 75 | print(f"Status Updated!") 76 | break 77 | 78 | with open('DataBase.csv', mode='w', newline='') as file: 79 | fieldnames = ['Order ID', 'Product', 'Price', 'Quantity', 'Amount', 'Customer Name', 'State', 'District', 'City', 'Pincode', 'Status'] 80 | writer = csv.DictWriter(file, fieldnames=fieldnames) 81 | writer.writeheader() 82 | writer.writerows(orders) 83 | 84 | def status_updation_menu(): 85 | order_id_by_admin = input("Enter Product ID: ").lower() 86 | 87 | new_status = input("Enter New Status (Company Outlet, Shipping, Out for Delivery): ") 88 | valid_statuses = ["Company Outlet", "Shipping", "Out for Delivery"] 89 | if new_status not in valid_statuses: 90 | print("Invalid status provided.") 91 | return 92 | 93 | update_order_status(order_id_by_admin, new_status) 94 | -------------------------------------------------------------------------------- /customer.py: -------------------------------------------------------------------------------- 1 | from database import user_input_saver 2 | from utils import Id_Generator, display_product_list 3 | from tabulate import tabulate 4 | import csv 5 | def get_matching_products(product_list, user_input): 6 | return [product for product in product_list.keys() if user_input in product.lower()] 7 | 8 | def choose_product(matching_products): 9 | if matching_products: 10 | print("Matching Products:") 11 | for i, product in enumerate(matching_products, 1): 12 | print(f"{i}. {product}") 13 | product_choice = input("Enter the number of the product you want to order: ") 14 | if product_choice.isdigit() and 1 <= int(product_choice) <= len(matching_products): 15 | return matching_products[int(product_choice) - 1] 16 | return None 17 | 18 | def handle_order(product_list, prices, chosen_product): 19 | pro = product_list[chosen_product] 20 | user_ip = int(input("Enter Product Quantity: ")) 21 | if user_ip <= pro: 22 | print("Product is Available in Stock, You Can Proceed Further!") 23 | print("Operation Menu : \n[PRESS 1] : To ORDER\n[PRESS 0] : To View Other Products") 24 | choice = int(input("Enter Your Choice: ")) 25 | if choice == 1: 26 | us_name = input("Enter Your Name: ") 27 | us_state = input("Enter Your State Name: ") 28 | us_dist = input("Enter Your District Name: ") 29 | us_city = input("Enter Your City Name: ") 30 | us_pin = int(input("Enter Your City PinCode: ")) 31 | print("Order Placed!") 32 | price_1 = prices[chosen_product] 33 | total_price = (price_1 * user_ip) 34 | product_list[chosen_product] -= user_ip 35 | order_id = Id_Generator() 36 | user_input_saver(order_id, chosen_product, price_1, user_ip, total_price, us_name, us_state, us_dist, us_city, us_pin) 37 | print("Operation Menu : \n\t[PRESS 1] : To Access Bill\n\t[PRESS 0] : To Access Personal & Order Details") 38 | choice_2 = int(input("Enter Your Choice: ")) 39 | if choice_2 == 1: 40 | display_bill(chosen_product, price_1, user_ip, total_price) 41 | elif choice_2 == 0: 42 | print(f" • Order Details :\n • Product Name : {chosen_product}\n • Name :{us_name}\n • State :{us_state}\n • District :{us_dist}\n • City:{us_city}\n • Pinvode :{us_pin} ") 43 | print(f"::::::::Order ID:::::::::\n(You Easily Track Your Product Using Order ID)\nOrder ID : {order_id}") 44 | else: 45 | print("Invalid choice!") 46 | elif choice == 0: 47 | shopping_process() 48 | else: 49 | print("Invalid choice!") 50 | else: 51 | print("OUT OF STOCK") 52 | 53 | def display_bill(product, price, quantity, total): 54 | print(" :::::::::::Bill:::::::::::") 55 | bill_data = [[product, price, quantity, total]] 56 | bill_header = ["Product", "Price", "Quantity", "Total Amount"] 57 | print(tabulate(bill_data, headers=bill_header, tablefmt="grid")) 58 | 59 | def check_availability_and_order(product_list, prices): 60 | user_input = input("To Check Whether Product Available Or Not, Enter Product Name: ").lower() 61 | matching_products = get_matching_products(product_list, user_input) 62 | chosen_product = choose_product(matching_products) 63 | if chosen_product: 64 | if chosen_product in prices: 65 | handle_order(product_list, prices, chosen_product) 66 | else: 67 | print("Price not found for chosen product.") 68 | else: 69 | print("Invalid product choice!") 70 | 71 | def shopping_process(iPhoneList, WatchList, AirpodesList, iPhonePrice, WatchPrice, AirpodesPrice): 72 | exit_var = 1 73 | while exit_var != 0: 74 | print("Product Available At SAT Mobile Shopee") 75 | print("● SmartPhone[PRESS 1]\n● Watch [PRESS 2]\n● Airpodes [PRESS 3]\n● MacBook [PRESS 4]") 76 | choice_3 = int(input("Enter Your Choice: ")) 77 | if choice_3 == 1: 78 | print(" ::::::::::SmartPhone:::::::::") 79 | print(" ") 80 | display_product_list(iPhoneList, iPhonePrice) 81 | check_availability_and_order(iPhoneList, iPhonePrice) 82 | elif choice_3 == 2: 83 | print(" ::::::::::Watch:::::::::") 84 | print(" ") 85 | display_product_list(WatchList, WatchPrice) 86 | check_availability_and_order(WatchList, WatchPrice) 87 | elif choice_3 == 3: 88 | print(" ::::::::::Airpodes:::::::::") 89 | print(" ") 90 | display_product_list(AirpodesList, AirpodesPrice) 91 | check_availability_and_order(AirpodesList, AirpodesPrice) 92 | else: 93 | print("Invalid Choice") 94 | exit_var = int(input("Operation Menu : \n[PRESS 1] : Continue Shopping \n[PRESS 0] : Exit\n ")) 95 | 96 | def track_order(order_id): 97 | with open('DataBase.csv', mode='r') as file: 98 | reader = csv.DictReader(file) 99 | for order in reader: 100 | if order['Order ID'] == order_id: 101 | print(f"Order ID: {order['Order ID']}") 102 | print(f"Product: {order['Product']}") 103 | print(f"Status: {order['Status']}") 104 | break 105 | else: 106 | print("Order not found.") 107 | -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 | # Online-Market-Place 2 | _A Project Based On Python_ 3 | 4 | ### Languages 5 | 6 | | Python3 | 7 | |----------| 8 | | Python | C | 9 | 10 | ### Tools Used : 11 | |VsCode| Syder | 12 | |-------|-------| 13 | |Vscode|Spyder|Spyder| 14 | 15 | ## Data Manipulation and File Handling 16 | 17 | |Jupyter| 18 | |-------| 19 | |Jupiter| 20 | 21 | ## Project Description 22 | **1. Introduction:** 23 | 24 | The Online Shopping System is a Python-based application that simulates an online shopping platform where users can browse products, place orders, and track their orders. The system is designed to serve both customers and administrators, providing a seamless shopping experience and efficient management of product inventory and orders. 25 | 26 | **2. Features:** 27 | 28 | - **Customer Features:** 29 | - Browse Products: Customers can view a list of available products categorized by type, such as smartphones, watches, and AirPods. 30 | 31 | - Place Orders: Customers can select products, specify quantities, and place orders. 32 | 33 | - Track Orders: Customers can track the status of their orders using order IDs. 34 | 35 | - **Administrator Features:** 36 | 37 | - Login Authentication: Administrators can securely log in to access administrative functionalities. 38 | - Stock Management: Administrators can update product inventory, including adding new products and adjusting quantities. 39 | - Order Status Update: Administrators can update the status of orders, such as marking them as shipped or out for delivery. 40 | 41 | **3. Implementation:** 42 | 43 | - **Data Handling:** 44 | - CSV files are used to store product data, including product details and prices. 45 | 46 | - Separate CSV files are maintained for product data and pricing information to facilitate easy updates and modifications. 47 | 48 | - **User Interface:** 49 | 50 | - The user interface is text-based and interactive, allowing users to navigate through product listings and perform actions such as placing orders and updating inventory. 51 | 52 | - User inputs are validated to ensure data integrity and prevent errors. 53 | 54 | - **Security:** 55 | 56 | - User authentication is implemented for administrators to ensure secure access to administrative functionalities. 57 | 58 | - Sensitive information such as admin credentials is stored securely and not hard-coded in the source code. 59 | 60 | **4. Future Enhancements:** 61 | - **Database Integration:** Migrate from CSV files to a database management system for improved scalability and performance. 62 | 63 | - **Graphical User Interface (GUI):** Develop a GUI-based interface to enhance user experience and visual appeal. 64 | 65 | - **Payment Integration:** Integrate payment processing functionality to enable secure online transactions. 66 | 67 | - **Order Management System:** Implement a comprehensive order management system to handle order processing, tracking, and fulfillment. 68 | 69 | ## Source Code Details 70 | 1. **Imports:** 71 | - The code imports necessary modules: `csv` for CSV file handling, `randint` from `random` module to generate random order IDs, and `tabulate` for tabular data formatting. 72 | 73 | 2. **Data Initialization:** 74 | - Admin credentials and product data are initialized from CSV files. 75 | 76 | 3. **Functions:** 77 | 78 | `read_data_from_csv(filename)`: Reads data from a CSV file and initializes a dictionary. 79 | 80 | `Id_Generator()`: Generates a random order ID. 81 | - `display_product_list(product, prices)`: Displays a list of products with their prices. 82 | 83 | `user_input_saver(...)`: Saves user input data to a CSV file. 84 | 85 | `check_availability_and_order(...)`: Checks product availability, takes user input for ordering, and updates the order details. 86 | 87 | `shopping_process()`: Initiates the shopping process for customers. 88 | 89 | `login_process()`: Handles the login process for admins. 90 | 91 | `write_data_to_csv(filename, data)`: Writes data to a CSV file. 92 | 93 | `stock_updation(product_list, filename)`: Updates product stock. 94 | 95 | `stock_upadation_Menu()`: Displays a menu for stock updation. 96 | 97 | `update_order_status(order_id, new_status)`: Updates order status. 98 | 99 | `track_order(order_id)`: Tracks an order based on the order ID. 100 | 101 | `status_updation_menu()`: Displays a menu for order status updation. 102 | 103 | 4. **Main Interface:** 104 | - Prompts the user to choose between customer and admin access. 105 | - If customer access is chosen, it allows the user to browse products or track orders. 106 | - If admin access is chosen, it requires authentication and allows the admin to update product stock or order status. 107 | 108 | 5. **File Structure:** 109 | - Describes the structure of files used in the project. 110 | 111 | 6. **Usage Instructions:** 112 | To run your code, follow these instructions: 113 | 114 | 1. **Ensure Python is Installed:** 115 | 116 | Make sure you have Python installed on your system. You can download it from [Python's official website](https://www.python.org/downloads/) if you haven't already. 117 | 118 | 2. **Install Required Dependencies:** 119 | 120 | - Open a terminal or command prompt. 121 | - Navigate to the directory where your code is located. 122 | - Run the following command to install the required dependencies: 123 | ```bash 124 | pip install tabulate 125 | ``` 126 | 127 | 4. **Run the Main Python Script:** 128 | - In the same terminal or command prompt, navigate to the directory containing your Python script (`main.py`). 129 | - Run the script using the following command: 130 | ```bash 131 | main.py 132 | ``` 133 | 134 | 5. **Choose User Type:** 135 | - You'll be prompted to choose between customer and admin access. 136 | - Enter `1` for admin access or `2` for customer access. 137 | 138 | 6. **Follow On-Screen Instructions:** 139 | - Depending on your choice: 140 | - If you choose customer access, you can browse products, place orders, and track them. 141 | - If you choose admin access, you can update product stocks or order statuses. 142 | 143 | 7. **Provide Inputs:** 144 | - Follow the on-screen instructions to input relevant information, such as product choices, quantities, and login credentials. 145 | 146 | 8. **Exit the Program:** 147 | - To exit the program, follow the provided exit options. 148 | 149 | 9. **Review Output:** 150 | - After performing actions like placing orders or updating stocks/statuses, review the outputs on the console or in the generated CSV files. 151 | 152 | 10. **Note:** 153 | - Make sure to keep the CSV files (`iPhoneData.csv`, `AirpodesData.csv`, `WatchData.csv`, `iPhonePriceData.csv`, `AirpodesPriceData.csv`, `WatchPriceData.csv`, `DataBase.csv`) in the same directory as your Python script. 154 | 155 | By following these steps, you should be able to run your code and interact with the SAT Mobile Shopee application. 156 | 157 | # Contributors 158 | - [Atharva Kote](https://github.com/Atharvkote) 159 | - [Sairaj Naikwade](https://github.com/sairajnaikwade) 160 | - [Tushar Nagare](https://github.com/Tusshar123) 161 | 162 | # Conclusion 163 | 164 | The Online Shopping System is a versatile and scalable solution for managing online retail operations. By leveraging Python and various modules, the system provides a robust platform for users to browse products, place orders, and track their purchases. With further enhancements and refinements, the system has the potential to become a comprehensive e-commerce solution catering to a wide range of businesses and customers. 165 | 166 | ## 🔗 Links 167 | [![Telegram Badge](https://img.shields.io/badge/Telegram-blue?style=for-the-badge&logo=telegram&logoColor=white)](https://t.me/AtharvKote) 168 | [![Linkedin](https://img.shields.io/badge/linkedin-0A66C2?style=for-the-badge&logo=linkedin&logoColor=white)](https://www.linkedin.com/in/atharva-kote) 169 | [![Twitter](https://img.shields.io/badge/twitter-1DA1F2?style=for-the-badge&logo=twitter&logoColor=white)](https://twitter.com/ImAtharva81) 170 | [![Gmail](https://img.shields.io/badge/Gmail-D14836?style=for-the-badge&logo=gmail&logoColor=white 171 | )](mailto:atharvkote3@gmail.com) 172 | [![Discord](https://img.shields.io/badge/Discord-%235865F2.svg?style=for-the-badge&logo=discord&logoColor=white)](discordapp.com/user/1238159826748702824) 173 | [![Instagram](https://img.shields.io/badge/Instagram-%23E4405F.svg?style=for-the-badge&logo=Instagram&logoColor=white)](https://www.instagram.com/___atharv_81?igsh=MWxseGoyYmlianp6ZQ==) 174 | 175 |

176 | 177 |

178 | --------------------------------------------------------------------------------