https://github.com/ledgermall/ledgermall
LedgerMall is an open-source digital commerce platform designed to leverage blockchain technology for secure, multi-crypto transactions. This web-based marketplace aims to provide a user-friendly experience while empowering administrators with real-time analytics and streamlined management tools.
https://github.com/ledgermall/ledgermall
blockchain cryptocurrency ecommerce flask mongodb python website
Last synced: about 2 months ago
JSON representation
LedgerMall is an open-source digital commerce platform designed to leverage blockchain technology for secure, multi-crypto transactions. This web-based marketplace aims to provide a user-friendly experience while empowering administrators with real-time analytics and streamlined management tools.
- Host: GitHub
- URL: https://github.com/ledgermall/ledgermall
- Owner: LedgerMall
- License: other
- Created: 2025-04-15T08:31:22.000Z (about 1 year ago)
- Default Branch: main
- Last Pushed: 2025-04-15T09:46:40.000Z (about 1 year ago)
- Last Synced: 2025-04-15T10:55:39.522Z (about 1 year ago)
- Topics: blockchain, cryptocurrency, ecommerce, flask, mongodb, python, website
- Language: HTML
- Homepage:
- Size: 203 KB
- Stars: 0
- Watchers: 0
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
[](https://www.gnu.org/licenses/agpl-3.0)
# π§Ύ LedgerMall β Decentralized Digital Commerce
**LedgerMall** is a secure, crypto-powered e-commerce platform built with **Python**, **Flask**, and **MongoDB**. It supports multiple cryptocurrencies for product purchases, real-time admin analytics, built-in support chat, and wallet integrationβmaking it a future-forward digital shopping experience.
---
## π Features at a Glance
- π **User Authentication** β Sign up, login, hashed password security
- ποΈ **Product Marketplace** β Category filters, detail pages, reviews
- πΌ **In-App Wallets** β Manual deposits & crypto-based balance tracking
- π§Ύ **Cart & Checkout** β Add/remove items, pay via CoinPayments API
- π§βπΌ **Admin Panel** β Add/edit/delete products, view metrics, manage messages
- π¬ **Support System** β Message-based user queries & admin replies
- π **Dashboard Metrics** β Orders, revenue, user activity
- β **Product Reviews** β Users can rate & review products
- π **Search & Filters** β Real-time product search & price filtering
---
## π Project Structure
```
LedgerMall/
βββ app.py
βββ db/
β βββ products.py
β βββ users.py
βββ config.py
βββ config.yaml
βββ templates/
βββ requirements.txt
```
---
## π· Screenshots
| Marketplace | Admin Panel |
|-------------|-------------|
|  |  |
---
## π οΈ Setup Instructions
### 1οΈβ£ Clone the Repository
```bash
git clone https://github.com/ledgermall/ledgermall.git
cd ledgermall
```
---
### 2οΈβ£ Configure APIs & MongoDB
Ensure MongoDB is running locally or use a remote cluster. Create a database called `ledgermall` with two collections:
- `users`
- `products`
Configure the [config](config.yaml) file and populate with the following:
```python
SECRET_KEY = "your-secret-key"
CP_PUBLIC_KEY = "your-coinpayments-public-key"
CP_PRIVATE_KEY = "your-coinpayments-private-key"
BUYER_EMAIL = "buyer@example.com"
COIN_MAPPING = {
"btc": {"currency2": "BTC", "address": "your-btc-address"},
"ltc": {"currency2": "LTC", "address": "your-ltc-address"},
...
}
```
> β οΈ Keep this file secure and donβt commit it publicly.
---
### 3οΈβ£ Install Dependencies & Run WebApp
```bash
pip install -r requirements.txt
python app.py
```
π¦ Click to see required packages
```txt
Flask
flask-login
flask-bcrypt
pymongo
pycoinpayments
```
---
## π Admin Setup (Manual via MongoDB)
Create an admin user directly in the `users` collection. Sample document:
```json
{
"username": "admin",
"email": "admin@example.com",
"password": "",
"is_admin": true
}
```
To generate a bcrypt hash:
```python
from flask_bcrypt import Bcrypt
bcrypt = Bcrypt()
print(bcrypt.generate_password_hash("yourpassword").decode())
```
> β οΈ Thereβs no web interface to set up admin yet. Use MongoDB Compass or CLI.
---
## π Security Practices
- Use **HTTPS** in production
- Keep **MongoDB secure** and password-protected
- **Environment variables** for secrets (avoid plain `config.py` in production)
- Validate & sanitize all user inputs
- Restrict admin routes via `is_admin` checks
---
## π Future Add-ons (Roadmap Ideas)
- π¨ Telegram or email order notifications
- π Verified user tiers (KYC)
- π§Ύ Auto-generated PDF invoices
- π± Mobile-friendly UI/UX
- πͺ REST API integration for external platforms or Telegram bots
---
## π€ Contribution Guide
We welcome your contributions! Here's how:
1. Fork the repo
2. Create your feature branch (`git checkout -b feature/cool-feature`)
3. Commit your changes
4. Push to the branch (`git push origin feature/cool-feature`)
5. Open a Pull Request
---
## π Built With
| Tech Stack | Description |
|------------|-------------|
| **Python & Flask** | Backend framework |
| **MongoDB** | NoSQL database |
| **Jinja2** | Templating engine |
| **CoinPayments API** | Crypto payment gateway |
| **HTML/CSS/JS** | Frontend foundation |
---
## π License
This project is licensed under the [AGPL License](LICENSE).
- You are free to modify, distribute, and use the code **for non-commercial purposes only**.
- Any modifications and distributions of the project must also be licensed under the AGPL.
- You may **not** use this code for commercial purposes without explicit permission.
- If you use this code in a publicly accessible system, you must make the source code available to the users of that system.
- **Credits:** Please give appropriate credit to the original author, **Samrat Talukdar**.
Feel free to make it your own, but please ensure that the AGPL license terms and the non-commercial restriction are followed.
---
## Crafted with π», β, and a bit of βΏitcoin, by [Samrat](github.com/ogsamrat)<3
> _LedgerMall isn't just a store β it's your step into a decentralized future._
> Buy, sell, and grow securely with crypto at your fingertips. ππΈπ‘οΈ