Học Laravel qua dự án phần mềm quản lý cho thuê phòng trọ.

Học Laravel qua dự án phần mềm quản lý cho thuê phòng trọ.

Trước giờ khi các bạn học một công nghệ hay ngôn ngữ mới bạn chỉ học từng phần của nó theo lý thuyết một cách nhàm chán và bạn không biết những kiến thức mình học được sẽ ứng dụng như thế nào thông thường bạn có thể làm một pet project nhỏ đơn giản để có thể áp dụng những kiến thức mình đã học được vào thực tế và hôm nay mình sẽ cùng với các bạn làm một pet project nho nhỏ để có thể học và ôn luyện các kiến thức đã học về . Project mà mình định làm sẽ là phần mềm quản lý cho thuê phòng trọ.

Như cái tên phần mềm chắc hẳn bạn đã đoán được chức năng của chính của phần mềm này thông qua cái tên của nó rồi đúng không nào đúng vậy phần mềm này có chức năng chính là giúp các chủ nhà trọ quản lý được các phòng trọ mình cho thuê như số phòng cho thuê, luọng khách cho thuê, thu nhập mỗi tháng,….. và để cho đơn giản thì mình sẽ phân tích và làm một vài chức năng cơ bản chính của phần mềm thông qua đó chúng ta sẽ thực hành vận dụng các kiến thức về Laravel.

Đầu tiên ta sẽ phân tích xem phần mềm này sẽ có những chức năng nào.

  • Các chức năng của phần mềm sẽ bao gồm:
  • Quản lý danh sách các phòng trọ.
  • Quản lý trang thiết bị phòng trọ.
  • Quản lý danh sách người thuê trọ.
  • Quản lý cho thuê trọ.
  • Tổng hợp báo cáo doanh thu.

Sau khi đã có danh sách các chức năng rồi chúng ta cần phân tích các chức năng này để xây dựng cơ sở dữ liệu cho phần mềm.

Đâu tiên với mọi phần mềm quản lý thì sẽ có những chức năng cơ bản như: Đăng xuất và đăng nhập nên bảng đầu tiên mà chúng ta luôn có sẽ là bảng User để quản lý các người dùng trong hệ thống để cho đơn giản thì mình sẽ sử dụng luôn bảng admin_user của laravel.

Chức năng quản lý danh sách phòng trọ:

Chúng ta thấy trong thực tế các phòng trọ sẽ được sắp xếp theo các dãy trọ với các số phòng theo một quy tắc nhất định nên với chức năng này ta có thể thiết kế hai bảng trong cơ sở dữ liệu để lưu dữ liệu của chức năng này là bảng RoomList và bảng Room.

  • Bảng RoomList là bảng lưu danh sách các dãy trọ.
  • Bảng Room sẽ là bảng lưu thông tin của mỗi phòng trọ.

Chức năng quản lý thiết bị phòng trọ:

Trong thực tế hiện nay mỗi phòng trọ khi được xây dựng sẽ có những trang thiết bị cơ bản nhất được lắp đặt sẵn vì thế chúng ta cũng cần phải quản lý các trang thiết bị này như số thiết bị, chủng loại thiết bị, tình trạng của chúng,….. Như ta thấy mỗi thiết bị sẽ được phân theo từng loại khác nhau và có các đơn vị tính khác nhau nên ta cần 3 bảng để lưu thông tin của chức năng này là bảng DeviceType, Devices, Unit, RoomDevice.

  • Bảng DeviceType sẽ lưu các nhóm loại thiết bị.
  • Bảng Devices sẽ lưu các thông tin về thiết bị.
  • Bảng Unit sẽ lưu thông tin về đơn vị tính của từng thiết bị.
  • Bảng RoomDevice sẽ lưu thông tin về các thiết bị sẽ có trong phòng và tình trạng của chúng.

Chức năng quản lý danh sách người thuê trọ:

Chức năng này được sử dụng để quản lý các khách hàng thuê trọ với chức năng này ta cần ít nhất 4 bảng để lưu thông tin đó là bảng: Customer, Work, Province, District, Commune trong đó:
Customer: Lưu thông tin về người thuê trọ như họ tên, tuổi, số điện thoại, ……..

  • Work: Lưu danh sách các công việc mà khách thuê trọ đang làm.
  • Province: Lưu danh sách tỉnh thành,
  • District: Lưu danh sách quận, huyện.
  • Commune: Lưu danh sách các xã phường.

Chức năng quản lý thuê trọ:

Đây là chức năng sẽ quản lý việc cho thuê phòng trọ hay ngừng cho thuê phòng trọ với chức năng này chúng ta chỉ cần 2 bảng để lưu các thông tin về việc cho thuê phòng trọ đó là bảng Rent và bảng RentDetail.

  • Bảng Rent: sẽ lưu thông tin như ai là người thuê phòng, thuê phòng nào.
  • Bảng RentDetail lưu thông tin chi tiết về việc thuê phòng như thời gian thuê phòng, giá thuê phòng,….
Cơ sở dữ liệu

Cơ sở dữ liệu

Sau khi hoàn thành xong khâu phân tích thiết kế chúng ta sẽ được cơ sở dữ liệu như thế này.

Phần tiếp theo mình sẽ giới thiệu với các bạn các setup một project Laravel.