I'm the README.md file of this project folder, here to guide you step-by-step! 🚀
- 📖 Introduction
- 📂 Folder Structure
- 📜 Features
- 🔍 Concept Highlights
- ⚙️ How It Works
- 📈 Use Case and Practical Application
- 👥 Team Contributions
- 🛠️ Setup and Usage
- 🎯 Final Takeaway
The Online Shopping Management System (OSMS) is a modular C++ program designed to simulate the operations of an online shopping platform. It showcases a hierarchical structure of products, seamless user interaction, and dynamic inventory management, replicating the features of real-world e-commerce systems.
This project provides a deep dive into the following aspects:
- Managing products and their associated details like brands, varieties, and prices.
- Capturing user feedback for enhancing product offerings.
- Demonstrating the power of object-oriented programming (OOP) with multi-file modularity.
The project consists of 4 files, each playing a vital role in the system's functionality:
-
📄 ShoppingManagementSystem.cpp
- Purpose: Contains class declarations and function prototypes.
- Highlights:
- Defines classes like
Variety,Brand,Item,Product,User, andOnlineShoppingManagementSystem. - Includes data members, constructors, and member function declarations.
- Defines classes like
-
📄 FunctionsOfOSMS.cpp
- Purpose: Implements the member functions declared in
class.cpp. - Highlights:
- Uses the scope resolution operator (
::) to define class functions. - Manages product interactions, user feedback, and inventory updates.
- Uses the scope resolution operator (
- Purpose: Implements the member functions declared in
-
📄 mainProgram.cpp
- Purpose: Serves as the program's entry point, orchestrating its workflow.
- Highlights:
- Initializes objects for products, brands, and users.
- Connects functionalities via the
OnlineShoppingManagementSystemclass. - Simulates operations of an online shopping platform.
-
📄 README.md
- Purpose: Comprehensive project documentation for developers and users.
- Highlights: Detailed explanation of the project's structure, setup, and use.
-
Detailed Product Categorization:
- Hierarchical structure:
Product→Item→Brand→Variety. - Captures detailed information about price, availability, and ratings.
- Hierarchical structure:
-
User Feedback Management:
- Records user feedback with name, contact, and suggestions.
- Displays feedback to understand user preferences.
-
Interactive Interface:
- Intuitive prompts guide users through browsing and feedback collection.
-
Extensibility:
- Supports easy addition of new products, categories, and features.
- Modular design enhances scalability.
-
Multi-File Programming:
- Promotes clean code separation across files for better maintenance.
This project incorporates the following core programming concepts:
-
Object-Oriented Programming:
- Data Abstraction and Different Types of Inheritance are used
- Encapsulation of data in classes and objects.
- Real-world modeling of online shopping systems.
-
Modular Design:
- Class declarations, function definitions, and main program logic are separated.
- Enables maintainable and reusable code.
-
Dynamic Object Initialization:
- Objects created dynamically simulate inventory and user data.
-
Interactive Programming:
- User-friendly interface for exploring products and submitting feedback.
- Class Declaration (
ShoppingManagementSystem.cpp):- Defines the blueprint for products, brands, and users.
- Function Implementation (
FunctionsOfOSMS.cpp):- Implements logic for product interactions and user feedback.
- Main Execution (
mainProgram.cpp):- Creates objects, initializes the system, and triggers user interaction.
- E-Commerce Platforms: Demonstrates the workings of platforms like Flipkart or Amazon.
- Inventory Management: Provides insights into how online retailers manage products.
- Educational Value: Serves as a learning tool for OOP and modular design in C++.
This project was developed by a dedicated team of three members. Here's a breakdown of their contributions:
| Yatharth Kumar Saxena |
- Proposed the concept of multi-level inheritance for categories like brand, item, and variety.
- Defined
Userclass andOnlineShoppingManagementSystemclass, including their member function declarations. - Implemented multi-file programming and wrote all member functions for brands, items, and products.
- Added member function definitions for
Userclass and defined components in OSMS. - Designed and implemented the logical structure for product categorization.
| Siddhant Sharma |
- Defined all member functions of the
OnlineShoppingManagementSystemclass. - Implemented the cart system from scratch and ensured seamless integration of project components.
- Responsible for ensuring that all components worked as a unified system.
| Navneet Varshney |
- Focused on data initialization using parameterized constructors.
- Ensured pre-loaded data in objects for smoother user interaction.
- Monitored and tested the main program functionality. |
-
Prerequisites:
- A C++ compiler like GCC, Clang, or MSVC.
- Basic knowledge of OOP principles.
-
Compilation and Execution:
- Navigate to the project directory.
- Compile the files:
g++ -o OnlineShoppingManagementSystem MainProgram.cpp FunctionsOfOSMS.cpp class.cpp
- Run the
mainProgram.cppfile to execute the program:./OnlineShoppingManagementSystem
-
Expected Behavior:
- Program starts with a user-friendly interface.
- Users can browse products, explore categories, and leave feedback.
The Online Shopping Management System (OSMS) demonstrates the seamless integration of modular design and object-oriented principles. It bridges the gap between conceptual programming and real-world applications, providing a strong foundation for aspiring developers.
This project highlights the importance of clean, maintainable code and modular architecture in building scalable systems. Explore its design to enrich your learning journey!
** Work Done By Each Member in Detail **
1.) Navneet:- Adding Data to the program :- 24 Variety, 12 Brands , 6 Items and 3 Product, Adding Data of existing 3 users, testing the program at every stage like infinite loop problem identification , static member initialisation, display of program to the user like spelling error , indentation, tab space, involved in raw design idea making,removing unnecessary member function, built in STL files, data members, finding the solution of critical problems like static keyword initialisation and how to remove this problem , logic error identification like total price will be calculated in long long not double , where to use user feedback and what feedback to show to user and making final report.
2.) Siddhant :- Responsible for making all the functionalities of Shopping management system class, how does a shopping management system will act as user interface , improved key features like login and sign up to be separated from view product, view user feedback etc . Fixed Major Errors in the program like display of only one item, rather than 2 , handling cart member function functionalities and cart class that work independently without inheritance , use of auto keyword to handle remove product from ekart , and linking cart , product and user class in sms functionalities.
3.) Yatharth:- Responsible for every design or raw design in this project , all the idea of how does classss interacts with each other , which class show multiple inheritance, multilevel inheritance, single inheritance etc. Where to use static keyboard ,use of getline function of string, how to deal with input buffer , use of this pointer , made product, item, brand , variety , sms , user and their member function definition , making use of vector STL file in order to store item in products , brands in items etc. responsible for how the structure of project looks like in three different files and how these three files interact with each other.