https://github.com/Radan-Azamian/AccommodationManagementSystem_-java
زبان: Java
نوع پروژه: برنامه کنسولی (Console-based)
این پروژه یک سیستم مدیریت اقامتگاه مبتنی بر زبان جاوا است که در قالب درس «مبانی برنامهنویسی ۱» طراحی شده. این سیستم شبیهساز عملیات اصلی یک کسبوکار کوچک اقامتی است و بر پایه اصول برنامهنویسی شیءگرا توسعه یافته است.
در این برنامه دو نقش اصلی تعریف شده: مدیر (Manager) و مسافر (Passenger) که هرکدام وظایف و قابلیتهای متفاوتی دارند.
قابلیتهای نقش مدیر (Manager)
مدیریت بودجه
مدیر با یک بودجه اولیه کار را آغاز میکند و میتواند از آن برای افزودن اتاقهای جدید یا ارتقای کیفیت اتاقها استفاده کند. ظرفیت و کیفیت اتاقها بهصورت مستقیم بر قیمتگذاری و سودآوری کسبوکار تأثیر میگذارند.
مدیریت اتاقها
امکان ایجاد اتاق با ظرفیت قابل تنظیم، کیفیت (Rating) و تأثیر مالی
امکان حذف اتاق در صورت ورشکستگی یا کمبود بودجه
مدیریت مسافران
پذیرش یا حذف مسافران
تخصیص اتاقها
ارائه خدمات اضافی مانند صبحانه، ناهار و تورهای گردشگری
نظارت بر دادهها
مشاهده اطلاعات دقیق هر اتاق
مشاهده رزروهای فعلی و گذشته
بررسی تاریخچه مسافران
مشاهده وضعیت مالی لحظهای
مرتبسازی و سازماندهی
مرتبسازی مسافران بهصورت الفبایی
مرتبسازی اتاقها بر اساس تعداد تخت و کیفیت
قابلیتهای نقش مسافر (Passenger)
رزرو اتاق
مسافر میتواند بر اساس تعداد تخت موردنظر و کیفیت (Rating) اتاقها را جستوجو کرده و نسبت به رزرو اقدام کند. همچنین طول مدت اقامت و خدمات اضافی را انتخاب میکند که هرکدام هزینه نهایی را تغییر میدهند.
انتخاب خدمات
مسافر میتواند خدماتی مانند وعدههای غذایی یا تورهای گردشگری را مشاهده و به رزرو خود اضافه کند.
سیستم شکایات و تاریخچه
امکان ارسال شکایت به مدیر
مشاهده کامل تاریخچه رزروها
ویژگیهای اضافه / اختیاری
سیستم تخفیف مشابه تکالیف درسی
حذف اتاق در صورت ورشکستگی
معرفی نقش سوم (نظافتچی / Cleaner) برای تمیز کردن اتاق پس از خروج مسافر
دستاوردهای آموزشی پروژه
در این پروژه با مفاهیم زیر کار کردهام:
اصول برنامهنویسی شیءگرا (کلاسها، آبجکتها، نقشها، کپسولهسازی)
استفاده از شرطها و حلقهها
ساختارهای داده برای مدیریت لیستهای اتاقها و مسافران
الگوریتمهای مرتبسازی
مدلسازی مسائل واقعی با استفاده از Java
جمعبندی
این پروژه توانایی من را در طراحی برنامههای ساختیافته، مدیریت وضعیت (State) و منطق برنامه، و بهکارگیری اصول بنیادی برنامهنویسی در یک سناریوی واقعی نشان میدهد.