0% found this document useful (0 votes)
9 views

cs_projectfinal

The document outlines a project titled 'Cosmetic Store Management System', developed by Pramod Singh and others, which utilizes Python and SQL for managing cosmetics inventory. It includes features such as product management, inventory tracking, and price management, aimed at improving efficiency and accuracy in store operations. The project also discusses the need for computerization, advantages, limitations, and future enhancements for the system.

Uploaded by

vibhav089
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as DOCX, PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
9 views

cs_projectfinal

The document outlines a project titled 'Cosmetic Store Management System', developed by Pramod Singh and others, which utilizes Python and SQL for managing cosmetics inventory. It includes features such as product management, inventory tracking, and price management, aimed at improving efficiency and accuracy in store operations. The project also discusses the need for computerization, advantages, limitations, and future enhancements for the system.

Uploaded by

vibhav089
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as DOCX, PDF, TXT or read online on Scribd
You are on page 1/ 26

Page 1 of 26

KENDRIYA VIDYALAYA NO.1


RAIPUR SHIFT-1
INVESTIGATORY PROJECT

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

under the supervision and guidance of


SIMPA KHARAGWANSHI

in the partial fulfillment of the practical


assessment conducted during the academic
year
2024-2025.

EXAMINER TEACHER PRINCIPAL

____________ _____________ ____________


Page 4 of 26

ACKNOWLEDGEMENT

We would like to express our immense gratitude


to ourcomputer science teacherfor the help and
guidance she provided for completing this
project.

We also thank our parents who gave their ideas


and inputs in making this project. Most of all we
thank our school management, for providing us
the facilities and opportunity to do this project.

Lastly, we would like to thanks our classmates


who have helped us in this project. Their support
made this project fruitful.

~Pramod Singh , Saswat Sekhar


Behera, Vibhav Sahu and K.Jatin
Page 5 of 26

INDEX
SNO. TOPIC PAGE NO.

1. COVER PAGE 1

2. CERTIFICATE 3

3. ACKNOWLEDGEMENT 4

4. OVERVIEW OF PROJECT 6-7

5. NEED OF COMPUTERISATION 8

6. ADAVANTAGES 9-10

7. LIMITATIONS 11

8. SOURCE CODE OF PROJECT 12-20

9. OUTPUT SCREEN 21-23

10. FUTURE ENHANCEMENT OF THE 24-25


PROJECT
11. BIBLIOGRAPHY 26
Page 6 of 26

OVERVIEW OF THE PROJECT


The Cosmetics Store Management System Is A Python-Based
Application That Utilizes An SQL Database To Manage And Track
Cosmetics Products In A Store. The System Aims To Provide An
Efficient Solution For Inventory Management, Product
Categorization, Pricing, And Stock Monitoring. This Project
Integrates Python’s Powerful Libraries For Interacting With
Databases, Along With SQL Queries For Performing CRUD (Create,
Read, Update, Delete) Operations.
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:
Page 7 of 26

o The Project Uses Sqlite (Or Any Other Relational


Database Like Mysql Or Postgresql) To Store All Product-
Related Data Securely.
o SQL Queries Are Used To Interact With The Database
And Retrieve, Update, Or Delete Records As Needed.
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.

 The Cosmetics Store Management System is a practical,


Python-based solution designed to manage cosmetics inventory
effectively. Using SQL for database management, it allows store
managers to efficiently track products, update stock levels, and
maintain accurate records. This system can be further
expanded with additional features, making it a versatile tool for
cosmetics businesses of all sizes.
Page 8 of 26

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
 Automation of Tasks: The system automates routine tasks like
inventory updates, price changes, and order processing, which
saves time and reduces the workload for store employees.
 Faster Decision Making: With real-time access to product and
sales data, store managers can make quicker decisions, whether
it's about restocking, promotions, or pricing adjustments.
2. Accurate Inventory Management
 Real-Time Stock Tracking: The system tracks inventory levels
automatically, providing an accurate picture of stock at any
given time and minimizing the risk of human error.
 Alerts for Low Stock: Automated alerts notify store managers
when products are running low, ensuring that items are
restocked before running out, which prevents lost sales.
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.
4. Enhanced Reporting and Data Analysis
 Data-Driven Insights: The system generates reports on sales
trends, inventory levels, and customer preferences, providing
valuable insights that help store managers make informed
decisions.
 Sales Forecasting: Analyzing past data allows businesses to
predict future demand, helping in better planning of inventory
and minimizing overstocking or stockouts.
5. Better Customer Experience
 Quick Access to Product Information: With computerized
tracking, store staff can quickly retrieve product details, prices,
and availability, improving the customer experience by offering
faster service.
Page 10 of 26

 Personalized Promotions: By tracking customer purchase


patterns, the system can enable personalized offers and
discounts, boosting customer satisfaction and loyalty.
6. Reduced Errors and Improved Accuracy
 Minimizing Human Errors: Automation reduces the chances
of mistakes in data entry, stock counts, and pricing, which can
be common in manual systems.
 Consistent Data: The system ensures that product information,
stock levels, and pricing remain consistent and accurate,
reducing discrepancies and confusion.

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.
Page 11 of 26

 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.
2. Data Security and Privacy Concerns
 Data Protection: Storing sensitive customer and business data
(e.g., pricing, customer details) in the system can pose security
risks if not properly secured. Without robust encryption,
firewalls, and secure access protocols, the system may be
vulnerable to data breaches or hacking.
 User Access Control: If proper access controls are not
implemented, unauthorized users could gain access to sensitive
data, which could lead to misuse or loss of information.
3. Human Error in Data Entry
 Input Mistakes: While the system reduces human error in
tracking and calculations, errors can still occur during data
entry, particularly if manual inputs are required. Inaccurate or
incomplete data could lead to incorrect inventory counts, pricing
issues, or missed sales opportunities.

SOURCE CODE OF PROJECT


DBMS:Mysql

Host:Local host

User:Root

Pass:Gaurav

Database:Cosmetics_store

Table structures (shown below):


Page 12 of 26

1.Customer details:

2.Stock details:
Page 13 of 26

PYTHON CODE:
Page 14 of 26

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

# Create database and tables if they don't exist


def setup_database():
connection = create_connection()
if connection:
cursor = connection.cursor()
cursor.execute("CREATE DATABASE IF NOT EXISTS
cosmetic_store")
cursor.execute("""
CREATE TABLE IF NOT EXISTS products (
product_id INT AUTO_INCREMENT PRIMARY KEY,
name VARCHAR(100),
brand VARCHAR(100),
price DECIMAL(10, 2),
quantity INT
)""")
cursor.execute("""
Page 15 of 26

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()

# Add a product to the inventory


def add_product(name, brand, price, quantity):
try:
connection = create_connection()
if connection:
cursor = connection.cursor()
cursor.execute("""
INSERT INTO products (name, brand, price, quantity)
Page 16 of 26

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}")

# View the current inventory of products


def view_inventory():
try:
connection = create_connection()
if connection:
cursor = connection.cursor()
cursor.execute("SELECT * FROM products")
products = cursor.fetchall()
for product in products:
print(f"ID: {product[0]}, Name: {product[1]},
Brand: {product[2]}, Price: {product[3]}, Quantity:
{product[4]}")
connection.close()
except Error as e:
print(f"Error: {e}")

# Add a customer to the database


def add_customer(name, email):
try:
connection = create_connection()
if connection:
cursor = connection.cursor()
cursor.execute("""
INSERT INTO customers (name, email)
VALUES (%s, %s)
""", (name, email))
Page 17 of 26

connection.commit()
print("Customer added successfully!")
connection.close()
except Error as e:
print(f"Error: {e}")

# Make a sale (reduce inventory and record sale)


def make_sale(customer_id, product_id, quantity):
try:
connection = create_connection()
if connection:
cursor = connection.cursor()

# Check if product is available


cursor.execute("SELECT quantity, price FROM
products WHERE product_id = %s", (product_id,))
product = cursor.fetchone()

if product and product[0] >= quantity:


total_amount = product[1] * quantity
# Insert sale into sales table
cursor.execute("""
INSERT INTO sales (customer_id, sale_date,
total_amount)
VALUES (%s, NOW(), %s)
""", (customer_id, total_amount))
sale_id = cursor.lastrowid

# Insert into sales history


cursor.execute("""
INSERT INTO sales_history (sale_id, product_id,
quantity, price)
VALUES (%s, %s, %s, %s)
""", (sale_id, product_id, quantity, product[1]))
Page 18 of 26

# Update product quantity in inventory


cursor.execute("""
UPDATE products
SET quantity = quantity - %s
WHERE product_id = %s
""", (quantity, product_id))

connection.commit()
print(f"Sale completed. Total amount:
{total_amount}")
else:
print("Insufficient stock.")
connection.close()
except Error as e:
print(f"Error: {e}")

# View sales history


def view_sales_history():
try:
connection = create_connection()
if connection:
cursor = connection.cursor()
cursor.execute("""
SELECT sales.sale_id, customers.name,
sales.sale_date, sales.total_amount
FROM sales
JOIN customers ON sales.customer_id =
customers.customer_id
""")
sales = cursor.fetchall()
for sale in sales:
print(f"Sale ID: {sale[0]}, Customer: {sale[1]}, Date:
{sale[2]}, Total Amount: {sale[3]}")

connection.close()
Page 19 of 26

except Error as e:
print(f"Error: {e}")

# Main menu for user interaction


def main():
setup_database()

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")

choice = input("Choose an option: ")

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)
Page 20 of 26

elif choice == '5':


view_sales_history()
elif choice == '6':
break
else:
print("Invalid choice, please try again.")

if __name__ == "__main__":
main()
Page 21 of 26

OUTPUT SCREEN
Page 22 of 26
Page 23 of 26
Page 24 of 26

FUTURE ENHANCEMENT OF THE


PROJECT
1. User Authentication And Roles
 Implement Login And Different Access Levels (Admin,
Salesperson, Manager).
2. Inventory Management
 Automate Stock Tracking And Notify When Items Are Low In
Stock.
3. Sales Reports
 Generate Sales Reports By Product, Customer, Or Time Period.

4. Discounts And Promotions


 Implement Discount Codes Or Special Offers (E.G., Buy One,
Get One Free).
5. Order Management
 Track Orders, Handle Shipments, And Manage Returns.

6. Payment Gateway Integration


 Integrate Payment Systems (E.G., Paypal, Stripe) For Online
Payments.
7. Mobile App Support
 Extend The System With A Mobile App For Customers And
Employees.
8. Multi-Language And Currency Support
 Support Multiple Languages And Currencies For International
Customers.
Page 25 of 26

BIBLIOGRAPHY
1. www.google.com
2. www.python.org
3. Computer Science with Python by Sumita Arora
Page 26 of 26

THANK YOU

You might also like