Cs Projectfinal
Cs Projectfinal
COSMETIC STORE
MANAGEMENT SYSTEM
SESSION 2024-25
SUBMITTED TO: SUBMITTED BY:
MRS.SIMPA KHARAGWANSHI PRAMOD SINGH
CLASS 12 ‘A’
Page 2 of 26
COSMETICS STORE
MANAGEMENT SYSTEM
A python and SQL based application for managing a
cosmetic inventory.
Page 3 of 26
C E R T IF IC A T E
This is to certify that
Pramod Singh
has successfully completed their Computer
Scienceproject titled
Cosmetic Store Management System
ACKNOWLEDGEMENT
~Pramod Singh
Page 5 of 26
INDEX
SNO. TOPIC PAGE NO.
1. COVER PAGE 1
2. CERTIFICATE 3
3. ACKNOWLEDGEMENT 4
5. NEED OF COMPUTERISATION 8
6. ADAVANTAGES 9-10
7. LIMITATIONS 11
Key Features:
1. Product Management:
o The System Allows Store Managers To Add, Update,
And Delete Cosmetics Products, Including Details Such
As The Product Name, Category (E.G., Makeup, Skincare,
Hair Care), Price, Stock Quantity, And Brand.
2. Inventory Tracking:
o Real-Time Tracking Of Product Quantities Ensures That
Store Managers Can Maintain Accurate Stock Levels,
Preventing Out-Of-Stock Situations Or Overstocking.
o The System Provides Functionality For Updating Stock
Quantities Based On Sales Or Restocking.
3. Product Search & Filtering:
o Users Can Search For Products By Category, Such As
Makeup, Skincare, Or Hair Care.
o The System Can Filter Products Based On Their Category,
Helping Staff Quickly Locate Products.
4. Price Management:
o The System Allows Administrators To Update Product
Prices, Which Is Essential For Tracking Discounts,
Seasonal Price Changes, Or Promotions.
5. Database Integration:
o The Project Uses Sqlite (Or Any Other Relational
Database Like Mysql Or Postgresql) To Store All Product-
Related Data Securely.
Page 7 of 26
Technologies Used:
Python: The Core Programming Language For Implementing
The Business Logic And User Interaction.
SQL (Sqlite): The Database Management System Used For
Storing And Retrieving Data. Sqlite Is Used For Simplicity And
Ease Of Setup.
Libraries: Python’s Built-In Sqlite3 Library Is Used To
Connect And Interact With The Database.
NEED OF COMPUTERISATION
Computerization in cosmetics store management is essential for
improving the efficiency, accuracy, and scalability of operations. By
automating tasks like inventory tracking, price updates, and order
processing, businesses can save valuable time and reduce the risk of
human errors in data entry and stock management. Real-time
updates ensure that product information, stock levels, and pricing
are always accurate, preventing issues like overstocking or stockouts.
Furthermore, computer systems enable data-driven decision-making
by providing instant access to reports on sales, inventory, and
customer behavior, which helps in forecasting demand and making
informed business decisions. The automation of these processes also
leads to significant cost savings by reducing manual labor and
minimizing costly mistakes. Additionally, computerization enhances
customer service by enabling staff to quickly retrieve product details
and manage orders, leading to a better customer experience.
Overall, computerization streamlines operations, optimizes inventory
management, and improves customer satisfaction, making it an
invaluable tool for the growth and success of any cosmetics store.
Page 9 of 26
ADVANTAGES OF PROJECT
1. Improved Efficiency
3. Cost-Effectiveness
Reduced Labor Costs: By automating inventory management
and administrative tasks, the system reduces the need for manual
labor, cutting operational costs.
Prevention of Stock Losses: Accurate tracking of stock reduces
the chances of stock discrepancies and shrinkage, saving money
in the long run.
LIMITATIONS
1. Dependence on Technology
System Downtime: The system relies on hardware and software
that may experience downtime or technical issues. If the system
crashes or the server goes down, it could disrupt operations,
resulting in delays or loss of data.
Power and Internet Dependency: If the system is hosted
locally or requires internet access, power outages or network
issues can affect its availability and functionality.
Host:Local host
User:Root
Pass:Gaurav
Database:Cosmetics_store
1.Customer details:
Page 13 of 26
2.Stock details:
Page 14 of 26
PYTHON CODE:
import mysql.connector
from mysql.connector import Error
def create_connection():
try:
connection = mysql.connector.connect(
host='localhost', # Your MySQL server host (default
is localhost)
user='root', # Your MySQL username
password='Gaurav', # Your MySQL password
database='cosmetic_store' # Your database name
)
if connection.is_connected():
print("Connected to MySQL Server")
return connection
except Error as e:
print(f "Error: {e}")
return None
quantity INT
)""")
cursor.execute("""
CREATE TABLE IF NOT EXISTS customers (
customer_id INT AUTO_INCREMENT PRIMARY KEY,
name VARCHAR(100),
email VARCHAR(100)
)""")
cursor.execute("""
CREATE TABLE IF NOT EXISTS sales (
sale_id INT AUTO_INCREMENT PRIMARY KEY,
customer_id INT,
sale_date DATETIME,
total_amount DECIMAL(10, 2),
FOREIGN KEY (customer_id) REFERENCES
customers(customer_id)
)""")
cursor.execute("""
CREATE TABLE IF NOT EXISTS sales_history (
sale_id INT,
product_id INT,
quantity INT,
price DECIMAL(10, 2),
FOREIGN KEY (sale_id) REFERENCES sales(sale_id),
FOREIGN KEY (product_id) REFERENCES
products(product_id)
)""")
connection.commit()
connection.close()
cursor.execute("""
INSERT INTO products (name, brand, price, quantity)
VALUES (%s, %s, %s, %s)
""", (name, brand, price, quantity))
connection.commit()
print("Product added successfully!")
connection.close()
except Error as e:
print(f "Error: {e}")
connection.commit()
print(f "Sale completed. Total amount:
{total_amount}")
else:
print("Insufficient stock.")
connection.close()
except Error as e:
print(f "Error: {e}")
connection.close()
except Error as e:
Page 19 of 26
while True:
print("\n--- Cosmetic Store Management System ---")
print("1. Add Product")
print("2. View Inventory")
print("3. Add Customer")
print("4. Make Sale")
print("5. View Sales History")
print("6. Exit")
if choice == '1':
name = input("Enter product name: ")
brand = input("Enter product brand: ")
price = float(input("Enter product price: "))
quantity = int(input("Enter product quantity: "))
add_product(name, brand, price, quantity)
elif choice == '2':
view_inventory()
elif choice == '3':
name = input("Enter customer name: ")
email = input("Enter customer email: ")
add_customer(name, email)
elif choice == '4':
customer_id = int(input("Enter customer ID: "))
product_id = int(input("Enter product ID: "))
quantity = int(input("Enter quantity: "))
make_sale(customer_id, product_id, quantity)
elif choice == '5':
view_sales_history()
Page 20 of 26
if __name__ == "__main__":
main()
Page 21 of 26
OUTPUT SCREEN
Page 22 of 26
Page 23 of 26
Page 24 of 26
2. Inventory Management
Automate Stock Tracking And Notify When Items Are Low In
Stock.
3. Sales Reports
5. Order Management
BIBLIOGRAPHY
1. www.google.com
2. www.python.org
3. Computer Science with Python by Sumita Arora
THANK YOU