A comprehensive C++ console application for managing a shop's inventory, sales, and user accounts. This system provides separate interfaces for administrators and regular users, ensuring secure access and efficient management of the shop's operations.
- Authentication
- Sign up for a new account
- Log in to existing account
- Reset password using unique code
- User Management
- List all users
- Remove users
- Inventory Management
- Add new items
- View all items
- Remove items
- Search for items
- Modify existing items
- Sales Tracking
- View sales reports and total revenue
- Account Recovery
- View recovery code
- Reset password using unique code
- Authentication
- Sign up for a new account
- Log in to existing account
- Reset password using unique code
- Shop Interaction
- View available items
- Search for items by code
- Add items to cart
- View cart contents
- Remove items from cart
- Checkout and complete purchase
- Password Protection: User and admin passwords are never stored in plain text.
- Data Encryption: Custom XOR encryption method for data security.
- Login Attempts Limit: Users have a limited number of login attempts for security.
- Unique Recovery Code: Generated during account creation for password reset.
- Console-based Menu System: Easy-to-navigate menus for both users and admins.
- Clear User Prompts: Provides clear instructions and feedback to users.
- ASCII Art: Decorative ASCII art for headers and menus to enhance visual appeal.
- ASCII Color Implementation: The program uses ASCII color codes to enhance the visual appeal and improve user experience.
- Formatted Output: Utilizes setw() for aligned and organized display of information.
The Shop Management System is built with the following key components:
- User Authentication: Secure login and signup for both admins and regular users.
- File-based Data Storage: Uses text files to store user accounts, inventory, and sales data.
- Encryption: Custom encryption/decryption functions to secure sensitive data.
- Admin Dashboard: Comprehensive management interface for administrators.
- User Dashboard: User-friendly interface for customers to browse and purchase items.
- Shopping Cart: Allows users to add, view, and remove items before checkout.
- Sales Tracking: Records and summarizes all completed sales.
- Password Recovery: Implements a secure method for users to reset their passwords.
- Language: C++
- Encryption: Custom XOR encryption method for data security.
- Modular Design: Functions are separated based on their functionality for better code organization.
- File Handling: Extensive use of file operations for data persistence.
- Input Validation: Implements checks to ensure valid user inputs.
This program is designed for educational purposes and demonstrates concepts of user authentication, file handling, simple encryption, and basic e-commerce functionalities in C++. For production use, more robust security measures and error handling would be necessary.
This project is MIT licensed.
Developed with ❤️ by Istiaq