Website cho thuê nhà tại Hà Nội được xây dựng bằng Node.js, Express.js và MySQL. Hệ thống cung cấp nền tảng kết nối giữa người cho thuê và người tìm thuê nhà với giao diện thân thiện và tính năng đầy đủ.
- Đăng ký/Đăng nhập tài khoản
- Quản lý thông tin cá nhân
- Đăng tin cho thuê nhà
- Tìm kiếm và lọc tin đăng
- Lưu tin yêu thích
- Bình luận và đánh giá
- Xem lịch sử tin đăng
- Dashboard quản lý tổng quan
- Quản lý người dùng
- Quản lý tin đăng
- Quản lý bình luận
- Xử lý liên hệ từ khách hàng
- Responsive design (Mobile-first)
- Giao diện hiện đại, thân thiện
- Popup quảng cáo với cookie
- Animation và transition mượt mà
- Node.js - JavaScript runtime
- Express.js - Web framework
- MySQL - Cơ sở dữ liệu
- EJS - Template engine
- bcryptjs - Mã hóa mật khẩu
- express-session - Quản lý session
- express-fileupload - Upload file
- HTML5 & CSS3
- JavaScript (Vanilla)
- Responsive Design
- CSS Grid & Flexbox
- Node.js 14.x trở lên
- MySQL 8.0 trở lên
- NPM (đi kèm Node.js)
- Clone repository
git clone <your-repo-url>
cd rental-website
- Cài đặt dependencies
npm install
- Cấu hình cơ sở dữ liệu
CREATE DATABASE rental_website CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;
- Import dữ liệu mẫu
mysql -u root -p rental_website < sample_data.sql
- Cấu hình biến môi trường
cp .env.example .env
Chỉnh sửa file .env
với thông tin database của bạn.
- Chạy ứng dụng
npm start
Truy cập: http://localhost:3000
- Username: admin
- Password: admin123
- Username: user1 | Password: user123
- Username: user2 | Password: user123
- 5 tin đăng từ chung cư cao cấp đến phòng trọ sinh viên
- 5 user với các quyền khác nhau
- Bình luận và đánh giá mẫu
- Tin đã lưu của các user
rental-website/
├── 📁 config/ # Cấu hình database
├── 📁 controllers/ # Logic xử lý business
├── 📁 middleware/ # Middleware Express
├── 📁 routes/ # Định tuyến API
├── 📁 views/ # Template EJS
│ ├── 📁 admin/ # Giao diện admin
│ ├── 📁 auth/ # Đăng nhập/đăng ký
│ ├── 📁 listings/ # Quản lý tin đăng
│ ├── 📁 users/ # Giao diện user
│ └── 📁 partials/ # Component tái sử dụng
├── 📁 public/ # Static files
│ ├── 📁 css/ # Stylesheet
│ ├── 📁 images/ # Hình ảnh
│ └── 📁 uploads/ # File upload
├── 📄 app.js # Entry point
├── 📄 package.json # Dependencies
├── 📄 database.sql # Tạo bảng mẫu
├── 📄 sample_data.sql # Dữ liệu mẫu
└── 📄 .env.example # Cấu hình mẫu
npm start # Chạy production
npm run dev # Chạy development với nodemon