Giới thiệu
Hello các bạn! Hôm nay mình xin gửi tới các bạn một bộ source code mà mình rất tâm đắc.
Đây là kết tinh mấy năm kinh nghiệm của mình và mình đã build lên một bộ source mà mình đảm bảo với các bạn sinh viên mới ra trường hoặc các bạn muốn học thêm các kiến thức, nâng cao kỹ năng về .NET, SQL,... mà mình thấy rằng sẽ phù hợp với các bạn.
Ngoài ra đối với các bạn đang làm đồ án thì cũng đều rất phù hợp nhé!
Các bạn có thể xem demo trực tiệp tại link này: https://youtu.be/F7scEksX1Ds
Thông tin về dự án
Đây là một nền tảng toàn diện cho lĩnh vực bất động sản và khách sạn. Với mã nguồn này, bạn sẽ có một nền tảng đa dịch vụ đơn giản nhưng mạnh mẽ.
-
Cho Thuê và Bán Bất Động Sản: Người dùng có thể dễ dàng đăng và tìm kiếm bài đăng về thuê hoặc bán phòng trọ, nhà, căn hộ hoặc bất động sản.
-
Quản Lý Khách Sạn: Chủ khách sạn có thể đăng thông tin về việc cho thuê phòng, còn người dùng có thể tìm kiếm, xem thông tin và đặt phòng một cách thuận tiện.
Với mã nguồn này, bạn sẽ có một hệ thống linh hoạt và tiện ích, giúp kết nối người dùng và nhà cung cấp dịch vụ một cách hiệu quả và dễ dàng.
Có thể nói đây là giải pháp kết hợp 3 trong tuyệt vời cho các bạn muốn build một website tương tự hoặc là một đề tài cực hay cho các bạn đang làm đồ án.
Các công nghệ được áp dụng
Back-End
- - .NET Core 6 Razor
- - Entity Framework
- - Realtime SignalR
- - Github API
- - Google Drive API
- - Zoho Mail API
- - Dapper
- - Custom Authorize with Identity
- - 2FA (Two-factor Authentication)
- - Elastic Search
Front-End
Database
- - MS SQL Server (sử dụng Store Procedure)
- - MongoDB (sử dụng cho việc chat)
- - RedisCache (caching data)
Others
- - HangFire
- - Cron Expression
DevOps
- - Docker
- - Jenkins CICD
- - Montoring with Prometheus and Grafana
Tóm tắt các chức năng nổi bật của Website
- - Đăng nhập xác thực 2 yếu tố (2FA-Two-factor authentication)
- - Xác thực tài khoản khi đăng ký qua email
- - Tìm kiếm, đăng bài, quản lý bài cho thuê trọ
- - Tìm kiếm, đăng bài, quản lý bài đăng bán
- - Tìm kiếm, đăng bài, quản lý khách sạn, quản lý lịch đặt phòng khách sạn
- - Thanh toán qua VNPay, MoMo, PayPal
- - Nhắc nhở người dùng hàng tháng qua email sử dụng job scheduler
- - Nhắc nhở người dùng khi gói dịch vụ sắp hết hạn qua email sử
- dụng job scheduler
- - Chat online 1-1 nội bộ Admin trên website (Có gửi file) giống Facebook Messenger 70%
- - Biểu đồ báo cáo trang admin
- - Sơ đồ tổ chức chuyên nghiệp (Org Chart)
- - Quản lý quyền, vai trò người dùng chuyên nghiệp
- - Sử dụng google drive api để lưu trữ file
- - Vote sao, bình luận, yêu thích bài đăng
- - Gợi ý phòng/khách sạn cho người dùng
- - Custom Authorize với Identity
- - Sử dụng Github API, Imgur API, Google Drive API, Zoho Mail API, IP Info API,...
Xem demo tại đây: https://youtu.be/F7scEksX1Ds
Database Diagram

Do Database Diagram khá dài và xem không được rõ. Các bạn có thể vào link https://drive.google.com/drive/folders/17jvy2ACPdcut6zfEcf0vKBcJh84kKUVB để xem rõ hơn nhé!
Tiếp theo mình sẽ nói về một số Flow quan trọng trong Website
Flow Thanh toán

Khi người dùng đăng nhập vào Website và thực hiện thanh toán.
Website sẽ thực hiện tạo thanh toán và chuyển hướng trang tới các bên thanh toán được chọn như MoMo, VnPay hoặc PayPal.
Sau khi thực hiện thanh toán hoặc hủy thanh toán thì sẽ được chuyển hướng về Webiste của chúng ta.
Thành công thì sẽ lưu vào Database và gửi email thông báo. Thất bại thì sẽ thông báo trên giao diện cho người dùng.
Flow Job Service

Trên nên tảng mình xây dựng có tạo một Web Service có nhiệm nhắc nhở người dùng gia hạn bài đăng, hết hạn đăng ký gói dịch vụ và nhiều Job khác qua Email và Discord (Có thể bắn thông báo qua các kênh khác như Telegram, Slack,...)
Cụ thể ở đây mình sử dụng HangFire. Tất cả các Job được setup và lên lịch chạy trên HangFire sẽ chạy một chức năng cụ thể nào đó mà ở đây nó sẽ call tới các API mà mình cung cấp.
Sau khi call tới API được chỉ định và API trả về response. Kết quả thành công hay thất bại đều được thông báo về các kênh được cài đặt trước đó.
Để hiểu rõ hơn mình sẽ đưa ra một Job cụ thể có nhiệm vụ gửi email trong danh sách chờ trên Web.
Ví dụ ở đây Job mình có tên là Halotro_Send_Email_Queue
Ví dụ về Job Halotro_Send_Email_Queue

Halotro_Send_Email_Queue sẽ call tới API https://halotro.com/api/send-email-queue mỗi 15 phút một lần để lấy dữ liệu từ Database về danh sách email đang chờ được gửi.
Sau khi thực hiện xong sẽ bắn thông vào về các kênh được Setup.
Một vài giao diện về Website
Các bạn vào link drive sau để xem chi tiết nhé:
https://drive.google.com/drive/folders/1GTwyhtgvTZrcbjGWGpVdyZWqxz1cIB3X
Demo và Tài liệu thêm
Đây là link website test các bạn có thể test thử:
https://nguyen-xuan-huy.halotro.com/
Các bạn truy cập đường link https://www.halotro.com/ và kéo xuống dưới và bấm Hiển thị TK Test để lấy tài khoản test nhé trên site https://nguyen-xuan-huy.halotro.com/ nhé
Account full quyền nhé

Còn tài liệu chi tiết về Source Code các bạn xem tại đây:
https://drive.google.com/drive/folders/1GTwyhtgvTZrcbjGWGpVdyZWqxz1cIB3X
Làm sao để tải Code
Source này chỉ bán không Free 😂: Ib mình để biết giá nhé
Các bạn chuyển khoản vào STK cùng với nội dung như sau:
- - Ngân hàng: TP Bank
- - Số tài khoản: 04178006901
- - Tên chủ tài khoản: Nguyen Xuan Huy
- - Nội dung chuyển khoản: 84BD6KN+ Địa chỉ Email của bạn
Trong đó:
- - 84BD6KN là mã Code của bài viết này.
- - Địa chỉ Email của bạn là địa chỉ Email nhận Link tải Code (Link sẽ có hết hạn trong 12h kể từ lúc nhận Mail và mình sẽ cấp lại nếu các bạn cần)
Hoặc các bạn có thể liện hệ trực tiếp với mình qua các cách sau:
- - Liên hệ qua mục Liên Hệ trên Website TẠI ĐÂY
- - Qua Facebook cá nhân TẠI ĐÂY
- - Chat trực tiệp tại Box Chat Messenger góc dưới bên trái của Website
Mình sẽ hỗ trợ cài đặt, chạy code và bảo hành cho các bạn hoàn toàn miễn phí. Không chạy không lấy tiền.
Nếu có lỗi trong quá trình chạy mình sẽ Fix miễn phí.
Ủng hộ mình nhé !!!
PP các bạn 😘