Project Title: Inventory Management System
Description: This C++-based application is designed to manage inventory for a retail store. It provides features for adding, updating, deleting, and viewing stock items. Additionally, it allows customers to create accounts, login, and add items to their carts, with the ability to view and print their bills.
Key Features:
- Stock Management:
- Add new items to stock
- Update item details (price, quantity, discount)
- Remove items from stock
- View stock details in a tabular format
- Customer Accounts:
- Customer registration
- Customer login
- Cart Functionality:
- Add items to the cart
- View items in the cart
- Remove items from the cart
- Proceed to checkout and print the bill
- Sales Reports:
- Generate sales reports based on various criteria
- Analyze profit/loss, stock levels, top-selling products, and unsold stock
Prerequisites:
- C++ compiler (e.g., GCC, Clang)
- Standard C++ libraries
Usage:
- Compile:
- Open a terminal or command prompt.
- Navigate to the project directory.
- Compile the code using your C++ compiler:
g++ inventory_management.cpp -o SuperMarket
- Run:
- Execute the compiled executable:
./SuperMarket
- Execute the compiled executable:
- Follow Prompts:
- The application will guide you through the various features.
File Structure:
inventory_management.cpp
: Main source code file containing the implementation of all classes and functions.stock.csv
: Stores information about the stock items.cart.csv
: Stores items added to the customer's cart.invoice.csv
: Stores invoice details for each transaction.admin_credentials.csv
: Stores credentials for admin users.customer_credentials.csv
: Stores credentials for customer users.
Note:
- Ensure that the necessary CSV files are present in the project directory before running the application.
- The application assumes that the user will enter valid data. Error handling for invalid inputs can be enhanced.
Future Enhancements:
- Implement additional reporting features (e.g., sales trends over time).
- Integrate with a database for more efficient data management.
- Add a graphical user interface (GUI) for a more user-friendly experience.