# Shop Manager POS — Setup.exe বানানোর ধাপ (শুধু Windows PC থেকে)

এই বিল্ড প্রসেসটা **Windows PC**-তে করতে হবে (Inno Setup আর PyInstaller Windows-এর জন্যই .exe বানায়)। Mac/Linux-এ বানানো যাবে না।

## এক বার যা লাগবে (এক PC-তে একবারই ইনস্টল করলেই হবে)
1. Python 3.11/3.12 (https://python.org থেকে, ইনস্টলের সময় "Add to PATH" টিক দিন)
2. Inno Setup 6 (https://jrsoftware.org/isdl.php)

## ধাপগুলো
1. এই zip ফোল্ডারটা extract করুন, ভেতরে ঢুকুন (যেখানে `app.py`, `launcher.py` আছে)।
2. একটা Command Prompt খুলুন ওই ফোল্ডারে, তারপর:
   ```
   python -m venv venv
   venv\Scripts\activate
   pip install -r requirements.txt
   ```
3. `build_exe.bat` ডাবল-ক্লিক করুন। এটা `dist\ShopManagerPOS\ShopManagerPOS.exe` বানাবে (কোনো console window ছাড়া, native app window হিসেবে চলবে)।
4. `build_setup.bat` ডাবল-ক্লিক করুন। এটা Inno Setup দিয়ে final installer বানাবে:
   `release\ShopManagerPOS-Setup-1.0.0.exe`
5. এই একটা ফাইল (`ShopManagerPOS-Setup-1.0.0.exe`) কাস্টমারের PC-তে কপি করে দিন — ডাবল-ক্লিক করলেই স্বাভাবিক Windows installer-এর মতো ইনস্টল হবে, কোনো PowerShell/terminal লাগবে না।

## কাস্টমার যা দেখবে
- Installer চালালে Desktop/Start Menu shortcut তৈরি হবে।
- App খুললে একটা normal desktop window খুলবে (Chrome/Edge ব্রাউজার ট্যাব হিসেবে না) — login screen সরাসরি দেখাবে।
- Login screen-এর নিচে ফোনে ব্যবহারের জন্য LAN address (যেমন `http://192.168.0.12:5000`) দেখাবে। দোকানের ফোন থেকে ওই একই WiFi-তে থেকে ব্রাউজারে ওই address টাইপ করলেই POS ব্যবহার করা যাবে।
- Installer নিজে থেকেই Windows Firewall-এ port 5000 খুলে দেবে, তাই আলাদা করে firewall settings ঘাঁটতে হবে না।

## গুরুত্বপূর্ণ — Gmail পাসওয়ার্ড নিয়ে সতর্কতা
`launcher.py`-তে এখনো আগের মতোই একটাই Gmail app password hardcode করা আছে ("forgot password" ইমেইলের জন্য)। এটা ঠিক আছে টেস্টিং/এক দোকানের জন্য, কিন্তু আপনি যেহেতু **অনেক দোকানে বিক্রি করবেন**, মাথায় রাখবেন:
- এই .exe ফাইল থেকে `strings ShopManagerPOS.exe` টাইপ করলে যে কেউ এই Gmail password বের করে ফেলতে পারবে — এটা সব কাস্টমারের exe-তেই একই থাকবে।
- ভবিষ্যতে চাইলে প্রতিটা কাস্টমারের জন্য আলাদা env var সেট করা, অথবা একটা backend email-relay service ব্যবহার করা নিরাপদ হবে।
- আপাতত কাজ চালানোর জন্য এভাবেই রাখা হয়েছে, কিন্তু বড় স্কেলে বিক্রি করার আগে এটা ঠিক করে নেওয়া ভালো।

## Test চালানো (build ছাড়াই, ডেভেলপমেন্টে)
```
python launcher.py
```
এটা সরাসরি native window খুলবে, প্রতিবার build করা লাগবে না।
