این پروژه یک سیستم رزرو بلیط سینما را با استفاده از زبان پایتون و پایگاه داده SQLite پیادهسازی میکند. این سیستم شامل ثبتنام کاربران، افزودن سینما و فیلم، رزرو بلیط، مشاهده رزروها و غیره میباشد.
cinema_system.py
: منطق اصلی برنامه.user.py
: کلاس کاربر.bank_account.py
: کلاس حساب بانکی.subscription.py
: کلاس اشتراک.movie.py
: کلاس فیلم.cinema.py
: کلاس سینما.reservation.py
: کلاس رزرو.review.py
: کلاس نظر.database.py
: تنظیمات پایگاه داده و مدلها.client.py
: اسکریپت سمت کاربر.server.py
: اسکریپت سمت سرور.run_project.py
: اجرای پیوسته پروژه.
-
کلون کردن مخزن:
git clone https://github.com/your-repo/cinema-ticket-reservation.git cd cinema-ticket-reservation
-
نصب وابستگیها: اطمینان حاصل کنید که Python 3.x و pip نصب شده باشند.
-
ایجاد جداول پایگاه داده:
ابتدا فایل
database.py
را برای ایجاد جداول پایگاه داده اجرا کنید:python database.py
-
اجرای پروژه:
فایل
run_project.py
را برای اجرای پیوسته سرور و کلاینت اجرا کنید:python run_project.py
- اجرای
run_project.py
. - انتخاب گزینه
1
برای ثبتنام. - وارد کردن اطلاعات کاربری.
- اجرای
run_project.py
. - انتخاب گزینه
2
برای ورود. - وارد کردن نام کاربری.
- ورود به سیستم.
- انتخاب گزینه
1
برای مشاهده لیست سینماها و فیلمها.
- ورود به سیستم.
- انتخاب گزینه
2
برای رزرو بلیط. - وارد کردن نام سینما، نام فیلم، سانس و شماره صندلی.
- ورود به سیستم.
- انتخاب گزینه
3
برای مشاهده لیست رزروهای کاربر.
-
ویژگیها:
user_id
: شناسه کاربر (تولید خودکار).username
: نام کاربری (منحصر به فرد).email
: ایمیل (منحصر به فرد).phone_number
: شماره تلفن (اختیاری).password
: گذرواژه (هش شده).birth_date
: تاریخ تولد.registration_date
: تاریخ ثبتنام (تولید خودکار).last_login
: تاریخ آخرین ورود.wallet_balance
: موجودی کیف پول.subscription
: نوع اشتراک.
-
متدها:
validate_username
: اعتبارسنجی نام کاربری.validate_email
: اعتبارسنجی ایمیل.validate_phone_number
: اعتبارسنجی شماره تلفن.hash_password
: هش کردن گذرواژه.save_to_db
: ذخیره اطلاعات کاربر در پایگاه داده.update_profile
: بهروزرسانی پروفایل کاربر.change_password
: تغییر گذرواژه کاربر.login
: ورود کاربر.
-
ویژگیها:
account_number
: شماره حساب.user_id
: شناسه کاربر.password
: گذرواژه (هش شده).cvv2
: CVV2.balance
: موجودی حساب.
-
متدها:
hash_password
: هش کردن گذرواژه.save_to_db
: ذخیره اطلاعات حساب بانکی در پایگاه داده.deposit
: واریز وجه به حساب.withdraw
: برداشت وجه از حساب.transfer
: انتقال وجه به حساب دیگر.update_balance
: بهروزرسانی موجودی حساب در پایگاه داده.
-
ویژگیها:
type
: نوع اشتراک.duration
: مدت زمان اشتراک.cashback_policy
: سیاست کش بک.
-
متدها:
apply_cashback
: اعمال کش بک بر اساس نوع اشتراک و تعداد خریدها.
-
ویژگیها:
movie_id
: شناسه فیلم.title
: عنوان فیلم.rating
: امتیاز فیلم.cinema_id
: شناسه سینما.
-
متدها:
save_to_db
: ذخیره اطلاعات فیلم در پایگاه داده.add_showtime
: افزودن سانس به فیلم.update_movie_details
: بهروزرسانی جزئیات فیلم.add_review
: افزودن نظر به فیلم.calculate_average_rating
: محاسبه امتیاز میانگین فیلم.
-
ویژگیها:
cinema_id
: شناسه سینما.name
: نام سینما.
-
متدها:
save_to_db
: ذخیره اطلاعات سینما در پایگاه داده.add_movie
: افزودن فیلم به سینما.update_cinema_details
: بهروزرسانی جزئیات سینما.list_movies
: نمایش لیست فیلمهای سینما.
-
ویژگیها:
reservation_id
: شناسه رزرو.user_id
: شناسه کاربر.movie_id
: شناسه فیلم.showtime_id
: شناسه سانس.seat_number
: شماره صندلی.status
: وضعیت رزرو.
-
متدها:
save_to_db
: ذخیره اطلاعات رزرو در پایگاه داده.cancel_reservation
: لغو رزرو و اعمال سیاست بازپرداخت.update_status
: بهروزرسانی وضعیت رزرو در پایگاه داده.
-
ویژگیها:
review_id
: شناسه نظر.user_id
: شناسه کاربر.movie_id
: شناسه فیلم.rating
: امتیاز نظر.comment
: نظر.
-
متدها:
save_to_db
: ذخیره اطلاعات نظر در پایگاه داده.add_reply
: افزودن پاسخ به نظر.
اگر میخواهید به این پروژه کمک کنید، لطفاً یک فورک از مخزن ایجاد کرده و تغییرات خود را اعمال کنید. سپس یک پول ریکوئست (Pull Request) ایجاد کنید تا تغییرات شما بررسی شود.
این پروژه تحت مجوز MIT منتشر شده است. برای اطلاعات بیشتر به فایل LICENSE مراجعه کنید.