Skip to content

Latest commit

 

History

2 Commits

Folders and files

NameName
Last commit message
Last commit date
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

🏭 CMMS — سیستم مدیریت نگهداری و تعمیرات

نسخه ۶۳ | آماده برای محیط تولید

Python Flask PostgreSQL License Status

Computerized Maintenance Management System
سیستم جامع مدیریت نگهداری، تعمیرات و چرخه عمر تجهیزات


📋 فهرست مطالب


🏭 معرفی سیستم

CMMS یک سیستم جامع مدیریت نگهداری و تعمیرات است که با Flask و PostgreSQL ساخته شده و برای محیط‌های صنعتی طراحی شده است. این سیستم کل چرخه عمر تجهیزات را از برنامه‌ریزی تا اجرا و تأیید پوشش می‌دهد.

آمار سیستم

آیتم تعداد
جداول دیتابیس ۱۰+
مسیرهای API ۲۰+
قالب‌های HTML ۸۰+
فرم‌های PDF ۶۸
قالب‌های چک‌لیست PM ۶۷
تجهیزات ثبت‌شده ۴۳
آیتم‌های چک‌لیست ۴۳۲

✨ ویژگی‌های اصلی

📋 سیستم چک‌لیست PM (نگهداری پیشگیرانه)

  • ۶۷ قالب آماده استفاده
  • ۲۸ قالب سرویس برقی
  • ۳۹ قالب سرویس مکانیکی
  • گردش کار کامل: تخصیص ← اجرا ← تأیید
  • امضای دیجیتال و آپلود فایل
  • ردیابی نقص‌ها و ایجاد دستور کار
  • صدور PDF و Excel

📅 برنامه‌ریزی و زمان‌بندی وظایف

  • برنامه‌ریزی و اولویت‌بندی وظایف
  • تخصیص به کاربران با تاریخ مهلت
  • نمای تقویمی (شمسی)
  • رابط تخصیص کار

📊 مدیریت دستور کار (Work Orders)

  • ایجاد، پیگیری و بستن دستورات کار
  • اولویت‌بندی و دسته‌بندی
  • گزارش‌گیری کامل

⚡ مدیریت انرژی

  • پیگیری قبوض برق و گاز
  • گزارش‌های مصرف ماهانه
  • تحلیل روند

👥 مدیریت کاربران و نقش‌ها

  • سیستم دسترسی چندسطحی
  • مدیریت گروه‌های کاری
  • گزارش عملکرد کارکنان

💰 مدیریت تنخواه و مالی

  • ثبت هزینه‌های جاری
  • پیگیری قطعات و موجودی
  • گزارش هزینه‌ها

📱 PWA (Progressive Web App)

  • قابل نصب روی موبایل
  • اعلان‌های Push
  • رابط کاربری واکنش‌گرا (RTL فارسی)

🔧 پیش‌نیازها

نرم‌افزار نسخه حداقل لینک دانلود
Python 3.10+ python.org
PostgreSQL 15+ postgresql.org

توجه: هنگام نصب Python، گزینه "Add Python to PATH" را فعال کنید.


🚀 نصب و راه‌اندازی

روش سریع (Windows)

مرحله ۱ — Python و PostgreSQL را نصب کنید

مرحله ۲ — اسکریپت نصب خودکار را اجرا کنید:

SETUP.bat

مرحله ۳ — برنامه را اجرا کنید:

RUN.bat

مرحله ۴ — در مرورگر باز کنید:

http://127.0.0.1:5000

نصب دستی (پیشرفته)

۱. تنظیم محیط مجازی

python -m venv venv
venv\Scripts\activate          # Windows
source venv/bin/activate       # Linux/Mac
pip install -r requirements.txt

۲. تنظیم دیتابیس

فایل config.py را باز کرده و مقادیر زیر را تنظیم کنید:

POSTGRESQL_CONFIG = {
    'host': '127.0.0.1',
    'port': '5432',
    'database': 'cmms_db',
    'user': 'postgres',
    'password': 'YOUR_PASSWORD',  # رمز عبور PostgreSQL خود را وارد کنید
}

۳. ایجاد دیتابیس

python main1.py db init
python main1.py db migrate
python main1.py db upgrade

۴. وارد کردن داده‌های اولیه

python import_pm_checklists.py    # قالب‌های چک‌لیست
python add_sample_data.py         # داده‌های نمونه (اختیاری)

۵. اجرای سرور

python main1.py

نصب روی سیستم جدید (Migration)

برای انتقال پروژه به سیستم دیگر، فایل‌های زیر الزامی هستند:

├── main1.py              # فایل اصلی برنامه
├── config.py             # تنظیمات دیتابیس
├── requirements.txt      # لیست پکیج‌ها
├── templates/            # قالب‌های HTML
├── static/               # فایل‌های استاتیک
└── backups/              # بکاپ دیتابیس

پوشه venv و instance را منتقل نکنید — روی سیستم جدید ایجاد خواهند شد.

برای وارد کردن دیتابیس:

python import_database.py

📁 ساختار پروژه

cmms/
├── main1.py                    # فایل اصلی Flask — همه Route ها
├── config.py                   # تنظیمات دیتابیس و برنامه
├── requirements.txt            # وابستگی‌های Python
│
├── templates/                  # قالب‌های Jinja2
│   ├── base.html               # قالب پایه (RTL، فارسی)
│   ├── dashboard.html          # داشبورد اصلی
│   ├── work_orders/            # دستور کار
│   ├── pm/                     # نگهداری پیشگیرانه
│   ├── equipment/              # تجهیزات
│   ├── scheduling/             # برنامه‌ریزی
│   └── ...
│
├── static/                     # فایل‌های استاتیک
│   ├── css/                    # استایل‌ها
│   ├── js/                     # JavaScript
│   ├── fonts/                  # فونت‌های فارسی (Vazir, IRANSans)
│   └── icons/                  # آیکون‌های PWA
│
├── 108-چک لیست سرویس برقی/    # فرم‌های PDF برق
├── 119-چک لیست سرویس مکانیکی/ # فرم‌های PDF مکانیک
├── 125-126-چک لیست لیفتراک/   # فرم‌های PDF لیفتراک
│
├── backups/                    # بکاپ‌های دیتابیس
├── deploy/                     # تنظیمات استقرار
│
├── SETUP.bat                   # نصب خودکار (Windows)
├── RUN.bat                     # اجرای برنامه (Windows)
└── CHANGE_DB_PASSWORD.bat      # تغییر رمز دیتابیس

👤 راهنمای کاربری

دسترسی به سیستم

پس از اجرا، مرورگر را به آدرس زیر بروید:

http://localhost:5000

بخش‌های اصلی

بخش آدرس توضیح
داشبورد / نمای کلی سیستم
چک‌لیست PM /pm/checklists نگهداری پیشگیرانه
دستور کار /work-orders مدیریت دستورات
تجهیزات /equipment لیست تجهیزات
برنامه‌ریزی /task-scheduling زمان‌بندی وظایف
تقویم /schedule-work نمای تقویمی
انرژی /energy-bills قبوض انرژی
کاربران /users مدیریت کاربران
گزارش‌ها /reports گزارش‌گیری

👥 نقش‌های کاربری

نقش دسترسی
Admin دسترسی کامل به همه بخش‌ها
userpro (برنامه‌ریز) تخصیص چک‌لیست، برنامه‌ریزی وظایف
userspe (سرپرست) تأیید/رد چک‌لیست‌های اجراشده
Technician (تکنسین) اجرای چک‌لیست‌های تخصیص‌یافته

گردش کار چک‌لیست PM

برنامه‌ریز (userpro)
    ↓ تخصیص چک‌لیست
تکنسین
    ↓ اجرا و امضا
سرپرست (userspe)
    ↓ بررسی
تأیید ✓  یا  رد ✗

🔑 رمزهای پیش‌فرض

PostgreSQL User:     postgres
PostgreSQL Password: CmmsSecure2024

مهم: پس از اولین نصب، رمز عبور را تغییر دهید.
برای تغییر: CHANGE_DB_PASSWORD.bat را اجرا کنید.


🛠️ اسکریپت‌های مفید

# بررسی صحت نصب
python verify_pm_installation.py

# ایجاد مجدد جداول PM
python create_pm_checklist_tables.py

# وارد کردن مجدد قالب‌های PM
python import_pm_checklists.py

# ایجاد جداول زمان‌بندی
python create_scheduling_tables.py

🐛 عیب‌یابی

خطا: Python is not installed

→ Python را از python.org نصب کنید
→ گزینه "Add Python to PATH" را فعال کنید

خطا: PostgreSQL is not installed

→ PostgreSQL را نصب کنید
→ سرویس PostgreSQL باید در حال اجرا باشد

خطا: Cannot connect to PostgreSQL

→ آیا سرویس PostgreSQL در حال اجراست؟
→ آیا رمز عبور صحیح است؟ (CHANGE_DB_PASSWORD.bat)
→ فایل config.py را بررسی کنید

خطا: ModuleNotFoundError

pip install -r requirements.txt

پورت ۵۰۰۰ اشغال است

# در config.py تغییر دهید:
PORT = 5001

📦 وابستگی‌های اصلی

پکیج نسخه کاربرد
Flask 3.1.2 فریم‌ورک وب
Flask-SQLAlchemy 3.1.1 ORM دیتابیس
Flask-Login 0.6.3 احراز هویت
psycopg2-binary 2.9+ درایور PostgreSQL
pandas 2.0+ پردازش داده
openpyxl 3.1+ Excel
persiantools 4.0+ تاریخ شمسی
pywebpush 1.14+ اعلان‌های Push

🚀 استقرار (Production)

روی Linux/Ubuntu با Gunicorn:

pip install gunicorn gevent
gunicorn -w 4 -b 0.0.0.0:5000 main1:app

با Docker:

docker build -t cmms .
docker run -p 5000:5000 --env-file .env cmms

پوشه deploy/ شامل فایل‌های پیکربندی Nginx، systemd service و Docker است.


📄 مستندات اضافی

فایل محتوا
INSTALLATION_GUIDE.md راهنمای نصب تفصیلی
PM_USER_GUIDE.md راهنمای کامل سیستم PM
PM_QUICK_START.md شروع سریع PM
CHARTS_GUIDE.md راهنمای نمودارها
ADMIN_LOGIN_GUIDE.md راهنمای مدیر سیستم
EQUIPMENT_SERVICE_WORKFLOW.md گردش کار سرویس تجهیزات
MICROSERVICES_MIGRATION_GUIDE.md راهنمای مهاجرت
PWA_GUIDE.md راهنمای PWA

ساخته شده با ❤️ برای صنایع ایران

Version 63 | نسخه ۶۳ | آخرین به‌روزرسانی: ۱۴۰۴

About

سیستم جامع مدیریت نگهداری و تعمیرات | Computerized Maintenance Management System built with Flask & PostgreSQL

Topics

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages