Skip to content

nielday/quan-ly-ktx

Repository files navigation

Youth Union Member Management

AIoTLab Logo AIoTLab Logo DaiNam University Logo

AIoTLab Faculty of Information Technology DaiNam University

📖 1. Giới thiệu

Hệ thống Quản lý Ký túc xá được xây dựng nhằm hỗ trợ công tác quản lý ký túc xá một cách hiệu quả, từ quản lý phòng ở, sinh viên, hợp đồng, thanh toán đến các dịch vụ. Hệ thống được thiết kế cho môi trường local development, giúp tối ưu hóa trải nghiệm sinh viên và công tác quản lý. Thay vì quản lý thủ công bằng giấy tờ hay các tệp Excel rời rạc, hệ thống mang đến một giải pháp tập trung, hiện đại và dễ sử dụng.

Tính năng chính:

  • ✅ Quản lý tòa nhà và phòng ở
  • ✅ Quản lý sinh viên và đơn đăng ký
  • ✅ Quản lý hợp đồng và phân phòng
  • ✅ Quản lý hóa đơn và thanh toán (chia đều theo đầu người)
  • ✅ Quản lý đơn giá (điện, nước, phòng, dịch vụ)
  • ✅ Quản lý dịch vụ phòng
  • ✅ Quản lý vi phạm
  • ✅ Yêu cầu chuyển phòng và sửa chữa
  • ✅ Báo cáo và thống kê

🔧 2. Các công nghệ được sử dụng

Hệ điều hành

macOS Windows Ubuntu

Công nghệ chính

PHP HTML5 CSS3 JavaScript Bootstrap

Web Server & Database

Apache MySQL XAMPP

Database Management Tools

MySQL Workbench

Mô tả công nghệ:

  • Backend: PHP thuần (không framework) - Xử lý logic nghiệp vụ, kết nối database
  • Frontend: Bootstrap 5, HTML5, CSS3, JavaScript - Giao diện người dùng hiện đại và responsive
  • Database: MySQL - Lưu trữ dữ liệu với các bảng quan hệ
  • Server: Apache (XAMPP) - Môi trường phát triển local
  • Authentication: Session-based - Quản lý đăng nhập và phân quyền
  • Security: Prepared statements - Bảo vệ chống SQL injection

🎯 3. Mô tả hệ thống

3.1. Về hệ thống

Hệ thống quản lý KTX hiện đại, tối ưu hóa trải nghiệm sinh viên và công tác quản lý. Hệ thống hỗ trợ quản lý toàn diện từ đăng ký phòng, phân phòng, hợp đồng, thanh toán đến các dịch vụ và vi phạm.

3.2. Phân quyền

  • Admin: Quản lý tài khoản, phân quyền, xem báo cáo tổng hợp
  • Manager: Quản lý phòng, sinh viên, hợp đồng, tạo hóa đơn, xác nhận thanh toán
  • Student: Đăng ký ở KTX, xem hóa đơn, nộp tiền, yêu cầu chuyển phòng/sửa chữa

3.3. Tính năng nổi bật

  • Tạo hóa đơn thông minh: Tự động chia đều tiền phòng, điện, nước, dịch vụ theo đầu người
  • Nguyên tắc bất biến hóa đơn: Hóa đơn đã tạo không bị thay đổi dù đơn giá thay đổi sau này
  • Quản lý đơn giá: Lưu lịch sử thay đổi đơn giá theo thời gian
  • Quản lý dịch vụ: Gán dịch vụ cho phòng, tự động tính vào hóa đơn

🚀 4. Hình ảnh web

4.1. Trang chủ

Trang chủ

4.2. Giao diện đăng nhập

Giao diện đăng nhập

4.3. Giao diện Admin

Giao diện Admin

4.4. Giao diện Manager

Giao diện Manager
Giao diện Manager với Sidebar

4.5. Giao diện Student

Giao diện Student
Giao diện Student với Sidebar

⚙️ 5. Cài đặt

5.1. Yêu cầu hệ thống

  • XAMPP (khuyến nghị PHP 8.x)
  • MySQL (có sẵn trong XAMPP)
  • Trình duyệt web hiện đại (Chrome, Firefox, Edge...)
  • Text Editor (VS Code, PhpStorm, Sublime Text...)

5.2. Cài đặt XAMPP

  1. Tải XAMPP từ: https://www.apachefriends.org/download.html
  2. Cài đặt XAMPP vào thư mục mặc định (thường là C:\xampp)
  3. Khởi động XAMPP Control Panel
  4. Start ApacheMySQL

5.3. Tải project

  1. Clone hoặc download project vào thư mục htdocs của XAMPP:
cd C:\xampp\htdocs
# Hoặc đặt project vào thư mục quanlyktx
  1. Cấu trúc thư mục:
quanlyktx/
├── database/          # Script SQL
├── functions/         # Business logic
├── handle/           # Controller
├── views/            # Presentation
├── image/            # Hình ảnh, logo
├── index.php         # Trang chủ (redirect đến home.php)
├── home.php          # Trang giới thiệu
├── login.php         # Trang đăng nhập
└── README.md         # File này

5.4. Setup database

  1. Mở phpMyAdmin: http://localhost/phpmyadmin

  2. Import file SQL:

    • File database/quanlyktx_complete.sql đã bao gồm:
      • Tạo database quanlyktx
      • Tạo tất cả 18 bảng với cấu trúc đầy đủ
      • Chèn dữ liệu mẫu (users, buildings, rooms, pricing, services)
      • Mật khẩu đã được hash bảo mật
    • Chỉ cần import 1 file duy nhất: database/quanlyktx_complete.sql
  3. Database sẽ bao gồm các bảng:

    • users, buildings, rooms, pricing, registration_periods
    • students, applications, contracts, room_assignments
    • invoices, payments (với hỗ trợ tiền đặt cọc), services, room_services
    • violations, maintenance_requests, room_transfer_requests
    • notifications

5.5. Cấu hình kết nối database

Mở file functions/db_connection.php và cập nhật thông tin:

function getDbConnection() {
    $servername = "localhost";
    $username = "root";
    $password = "Phong8ngon@"; // Thay đổi password nếu cần
    $dbname = "quanlyktx";
    $port = 3305; // Port MySQL (mặc định XAMPP: 3306)
    
    $conn = mysqli_connect($servername, $username, $password, $dbname, $port);
    
    if (!$conn) {
        die("Kết nối database thất bại: " . mysqli_connect_error());
    }
    
    mysqli_set_charset($conn, "utf8mb4");
    return $conn;
}

Lưu ý:

  • Kiểm tra port MySQL trong XAMPP (mặc định: 3306)
  • Nếu có password MySQL, cập nhật trong file db_connection.php
  • Đảm bảo database quanlyktx đã được tạo

5.6. Chạy hệ thống

  1. Khởi động XAMPP Control Panel
  2. Start ApacheMySQL
  3. Truy cập hệ thống:

5.7. Tài khoản mẫu

Sau khi import database quanlyktx_complete.sql, có thể sử dụng các tài khoản mẫu:

Admin:

  • Username: admin
  • Password: admin

Manager:

  • Username: manager
  • Password: manager

Student:

  • Username: student
  • Password: student

Lưu ý:

  • Tất cả mật khẩu đã được hash bảo mật trong database
  • File quanlyktx_complete.sql đã bao gồm đầy đủ dữ liệu mẫu, không cần import thêm file nào khác

📋 6. Cấu trúc dự án

quanlyktx/
├── database/              # Script SQL
│   ├── quanlyktx_complete.sql  # Database hoàn chỉnh (đã gộp tất cả)
│   └── migration_add_deposit_support.sql  # Migration file (đã tích hợp vào complete)
├── functions/            # Business logic layer
│   ├── db_connection.php # Kết nối database
│   ├── auth.php          # Authentication
│   ├── helpers.php       # Helper functions
│   ├── buildings.php     # Quản lý tòa nhà
│   ├── rooms.php         # Quản lý phòng
│   ├── students.php      # Quản lý sinh viên
│   ├── invoices.php      # Quản lý hóa đơn
│   └── ... (các module khác)
├── handle/               # Controller layer
│   ├── login_process.php
│   ├── logout_process.php
│   ├── buildings_process.php
│   └── ... (các handler khác)
├── views/                # Presentation layer
│   ├── admin/           # Trang admin
│   ├── manager/         # Trang manager
│   └── student/         # Trang student
├── image/                # Hình ảnh, logo
│   ├── Logo_DAI_NAM.png
│   └── ảnh kí túc xá/
├── index.php            # Trang chủ (redirect)
├── home.php             # Trang giới thiệu
├── login.php            # Trang đăng nhập
├── test_db_connection.php # Test kết nối DB
├── README.md            # File này
└── PHAN_TICH_NGHIEP_VU.md # Phân tích nghiệp vụ

🔐 7. Bảo mật

  • Prepared statements: Bảo vệ chống SQL injection
  • HTML escaping: Bảo vệ chống XSS
  • Session-based authentication: Quản lý đăng nhập an toàn
  • Role-based access control: Phân quyền theo role
  • Password hashing: Mật khẩu được hash bằng bcrypt (PASSWORD_DEFAULT) - Đã tích hợp đầy đủ

📝 8. Luồng xử lý

View → Form submit → Handle (controller) → Functions (business logic) → Database
  • Routing: Sử dụng parameter action (GET/POST)
  • Error handling: Thông báo qua session (success/error)
  • Separation of concerns: Tách biệt logic, controller, view

🎨 9. Giao diện

📞 10. Liên hệ

  • Email: dnu@dainam.edu.vn
  • Điện thoại: 02435577799
  • Hotline: 0961595599 | 0931595599
  • Địa chỉ: Số 1, Phố Xốm, Phường Phú Lương, Thành phố Hà Nội
  • Website: https://dainam.edu.vn

📄 11. License

Copyright © 2025. Trường Đại học Đại Nam.

About

Ứng dụng quản lý ktx được phát triển bởi dev magento 2

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors