├── __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 | | |
|
9 |
10 | ### Tools Used :
11 | |VsCode| Syder |
12 | |-------|-------|
13 | |
|
|
|
14 |
15 | ## Data Manipulation and File Handling
16 |
17 | |Jupyter|
18 | |-------|
19 | |
|
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 | [](https://t.me/AtharvKote)
168 | [](https://www.linkedin.com/in/atharva-kote)
169 | [](https://twitter.com/ImAtharva81)
170 | [](mailto:atharvkote3@gmail.com)
172 | [](discordapp.com/user/1238159826748702824)
173 | [](https://www.instagram.com/___atharv_81?igsh=MWxseGoyYmlianp6ZQ==)
174 |
175 |
176 |
177 |