A Python-based terminal application that allows users to register, log in, browse products, manage a shopping cart, place orders, and view their order history — all within a terminal interface. User data and product information are securely stored using JSON files, with encrypted passwords for authentication.
-
User Registration & Login
- Secure user registration with encrypted passwords.
- Authentication system to restrict access to registered users.
-
View Products
- Browse available products with pricing and stock information.
-
Shopping Cart
- Add items to a cart with stock validation.
- Place orders and automatically update stock.
-
Order History
- View past orders with purchase details.
-
Product Management
- Products stored and managed in a JSON file.
- Easily update product details like stock or price.
-
Secure Storage
- User passwords encrypted using
cryptography.fernet. - Key stored separately in a secure storage directory.
- User passwords encrypted using
.
├── main.py # Main script to run the system
├── users.json # Stores user data (encrypted passwords)
├── secure_storage/
│ └── key.key # Encryption key for password security
├── utils/
│ ├── products.json # Product data
│ └── helper.py # Helper functions (e.g., encryption/decryption)
└── README.md # Project documentation
- Python 3.6+
pipfor package installation
-
Clone the Repository
git clone https://github.com/<your-username>/Terminal-Based-E-Commerce-System.git cd Terminal-Based-E-Commerce-System
-
Install Required Packages
pip install cryptography
-
Run the Application
python main.py
-
Follow On-Screen Instructions
- Register or log in
- Browse products, manage your cart, and view orders
We welcome contributions! Follow these steps to contribute:
flowchart LR
Fork[Fork the repository] --> Branch[Create a new branch]
Branch --> Edit[Make changes]
Edit --> Commit[Commit changes]
Commit --> PR[Create Pull Request]
-
Fork the Repository
-
Clone It Locally
git clone https://github.com/<your-username>/Terminal-Based-E-Commerce-System.git cd Terminal-Based-E-Commerce-System
-
Create a Branch
git checkout -b your-branch-name
-
Make Changes and Commit
git add . git commit -m "Your descriptive message"
-
Push and Create PR
git push origin your-branch-name
Go to GitHub and create a Pull Request.
Conflicts happen when multiple changes occur in the same file. Learn more here:
This project is licensed under the MIT License.
Made with ❤️ for educational and practical learning.