Skip to content

Latest commit

 

History

90 Commits

Folders and files

NameName
Last commit message
Last commit date
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

DigiCal Logo

DigiCal: Smart Business Calculator

A modern, feature-rich business calculator & transaction management system
*Built with a stunning neumorphic interface — optimized for Raspberry Pi Zero 2W


Python License Platform Flask SQLite


🚀 Get Started · ✨ Features · 📖 Usage · 🌐 Web Portal · 🛠️ Config



✨ Features


Feature Description
🧮 Advanced Calculator Standard arithmetic, percentages, and memory functions (M+, M−, MR, MC)
💳 Transaction Tracking Record Sales & Expenses directly from results with categorical breakdown and custom descriptions
📱 UPI QR Payments Dynamically generated UPI payment QR codes for instant customer payments
📈 Rich Analytics Visual business insights — weekly/monthly trends, profit analysis, and category-wise pie charts
👥 Customer Management Track due payments and manage customer balances effectively
📦 Inventory Tracker Product inventory management with low-stock alerts
🌐 Web Portal Live remote access to business data from your phone or PC on the same network
🌓 Neumorphic UI Gorgeous dark/light neumorphic interface with customizable themes
💾 Local Data Persistence All data stored securely and locally via SQLite — no cloud, no subscription


📸 Screenshots



Calculator Mode

Dynamic UPI QR

Visual Analytics

Transaction History


🚀 Installation


🖥️ Windows / macOS / Linux

# 1. Clone the repository
git clone https://github.com/your-username/DigiCal.git
cd DigiCal

# 2. Install dependencies
pip install -r requirements.txt

# 3. Launch DigiCal
python digical.py

🍓 Raspberry Pi Zero 2W

# 1. Navigate to the DigiCal directory
cd /path/to/DigiCal

# 2. Install Python dependencies
pip3 install -r requirements.txt

# NOTE: If Matplotlib or Pillow fail, install via system packages:
sudo apt-get install python3-matplotlib python3-pil python3-pil.imagetk

# 3. Run the app
python3 digical.py

Tip: DigiCal is specifically optimized for the Raspberry Pi's 3.5" touchscreen display. Adjust WINDOW_WIDTH and WINDOW_HEIGHT in config.py for your screen.



📖 Usage Guide


🔢 Calculator Mode

  • Use the on-screen buttons or your keyboard (0–9, +, -, *, /, Enter)
  • Live preview — the result of your equation appears at the bottom-right before pressing =
  • Press = to finalize and trigger the Transaction save prompt

💰 Saving a Transaction

After calculating an amount, a prompt will appear:

1. Choose type     →   [ Sale ]  or  [ Expense ]
2. Pick method     →   [ Cash ]  or  [ UPI ]  or  [ Due ]
3. Add description →   (optional, for your records)

📱 UPI QR Code

When UPI is selected as the payment method, a scannable QR code is instantly generated on-screen based on your configured UPI ID — customers can pay in seconds.


🌐 Web Portal

When DigiCal starts, the Flask API server launches automatically.

✅ Server started at  →  http://192.168.x.x:8126

Open this URL on any device on the same WiFi network to view live sales, expenses, and analytics remotely from your smartphone or another computer.



🛠️ Configuration

Customize via config.py or the built-in Settings UI inside the app:


Setting Description
UPI Details Set your UPI ID and merchant name for QR code generation
Theme Toggle between Light and Dark neumorphic mode
Categories Modify default Expense, Sales, and Product categories
Dimensions Adjust WINDOW_WIDTH / WINDOW_HEIGHT for your display


📁 File Structure

DigiCal/
├── digical.py              # 🚀 Main entry point (GUI + Web API)
├── gui.py                  # 🎨 Tkinter UI implementation
├── api.py                  # 🌐 Flask Web Portal server
├── calculator.py           # 🧮 Core math logic
├── transaction_manager.py  # 💳 Sales & Expense processing
├── history_manager.py      # 🕓 History logging
├── graph_generator.py      # 📊 Matplotlib data visualization
├── handler_manager.py      # 👤 Employee/Handler commission logic
├── database.py             # 🗄️  SQLite DB operations
├── config.py               # ⚙️  Application settings
├── requirements.txt        # 📦 Python dependencies
└── assets/                 # 🖼️  Icons, GIFs, and images


⚙️ Troubleshooting


📷 QR Code not generating
Ensure qrcode is installed with Pillow support:
pip install qrcode[pil]

Then restart the application.

🌐 Web Portal not loading on phone
  • Ensure Python/Flask is allowed through your firewall
  • Confirm your phone and the host PC are on the same WiFi network
  • Check the console for the correct local IP address
🗄️ Database errors or corruption

Delete the database file and let DigiCal regenerate it fresh:

rm digical.db
python digical.py

⚠️ This will erase all stored transaction data.

🍓 Matplotlib issues on Raspberry Pi

Install system-level packages instead of pip:

sudo apt-get install python3-matplotlib python3-pil python3-pil.imagetk


📦 Dependencies

tkinter        # GUI framework (built-in with Python)
flask          # Web Portal API server
matplotlib     # Analytics charts & graphs
pillow         # Image processing & QR display
qrcode[pil]    # UPI QR code generation
sqlite3        # Local database (built-in with Python)

Install all at once:

pip install -r requirements.txt



Built with ❤️ by Kalpit

DigiCal - Smart Business Calculator

Made with Python Powered by SQLite Web by Flask


About

DigiCal is a comprehensive business calculator and transaction management system. Designed with a neumorphic interface, it goes beyond simple calculations by offering built-in sales and expense tracking, integrated UPI payments, detailed analytics, and a companion Web Portal for remote access.

Resources

Stars

1 star

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages