Dự án này mô phỏng một hệ thống quản lý sinh viên dưới dạng ứng dụng console (CLI), được xây dựng bằng C#. Chương trình hướng đến việc mô phỏng quy trình quản lý trong môi trường thực tế, bao gồm đăng nhập và đăng xuất tài khoản giảng viên, quản lý lớp học, quản lý thông tin sinh viên, ghi log theo dõi hành động người dùng, hệ thống và lưu trữ dữ liệu vào cơ sở dữ liệu SQL Server.
- Rèn luyện tư duy lập trình OOP thông qua một project nhỏ
- Làm quen việc tổ chức mã nguồn, tách module hiệu quả
- Mô phỏng hệ thống đăng nhập / đăng ký, tài khoản giảng viên
- Lưu dữ liệu vào cơ sở dữ liệu thật (SQL server)
- Tập viết logging cơ bản cho hệ thống
┌───────────────────────────────────────┐
│ KẾT NỐI DATABASE │
├───────────────────────────────────────┤
│ • Kết nối SQL Server │
│ • Kiểm tra kết nối thành công ? │
└───────────────────┬───────────────────┘
│ (*) Thành công
│ (✗) Thất bại: báo lỗi và thoát
┌───────────────────┴───────────────────┐
│ MENU CHỌN MÀU │
├───────────────────────────────────────┤
│ • [01] Màu đỏ │
│ • [02] Màu xanh lá │
│ • [03] Màu vàng │
│ • [04] Màu cam │
│ • [05] Màu xanh ngọc │
│ • [06] Màu xanh cyan │
│ • [07] Màu mặc định │
│ • [08] Thoát │
└───────────────────┬───────────────────┘
│
┌───────────────────┴───────────────────┐
│ MENU TÀI KHOẢN │
├───────────────────────────────────────┤
│ • [01] Đăng nhập │
│ • [02] Đăng ký │
│ • [03] Xem tài khoản giảng viên mẫu │
│ • [04] Thoát │
└───────────────────┬───────────────────┘
│ (*) Đăng nhập thành công
│ (✗) Sai 3 lần: thoát
┌───────────────────┴───────────────────┐
│ CHƯƠNG TRÌNH CHÍNH │
├───────────────────────────────────────┤
│ • [00] Thay màu │
│ • [01] Xem danh sách │
│ • [02] Thêm sinh viên │
│ • [03] Sửa thông tin │
│ • [04] Lọc thông tin │
│ • [05] Sắp xếp thông tin │
│ • [06] Xóa thông tin │
│ • [07] Thống kê │
│ • [08] Đăng xuất (về menu tài khoản) │
└───────────────────────────────────────┘Lưu ý: Mỗi giảng viên khi tạo tài khoản phải tạo luôn lớp của mình, vì 1 tài khoản Gv chỉ chủ nhiệm 1 lớp
Dự án sử dụng SQL server để lưu trữ thông tin Các bảng dữ liệu chính bao gồm:
- Tài khoản giảng viên
- Thông tin lớp
- Thông tin sinh viên
- Kèm quan hệ giữa các bảng
- Nếu dùng text editor như Vscode, Sublime text, Vim, ...
- Cài đặt .NET SDK (trình biên dịch C#)
- Nếu dùng Visual Studio thì cài .NET sẵn trong app
- Cài đặt SQL Server
- Cài đặt SQL Server Management Studio (SSMS)
git clone https://github.com/trgchinhh/quanlysinhvien-sqlserver.git
cd quanlysinhvien-sqlserver/Trước khi chạy chương trình, đảm bảo SQL server đã được tạo databse
Nếu muốn lưu trữ ở đường dẫn mình tự chọn
- Vào SSMS tạo database mới đặt tên là 'QuanLySinhVien-SQLserver'
- Set đường dẫn chứa database ở nơi muốn lưu
- Mở file
sql/script.sqlvà chạy trong SSMS - Script chạy không báo lỗi là thành công
Nếu muốn lưu ở đường dẫn mặc định của SSMS
- Mở folder SQL/script.sql và chạy trong SSMS
- Script chạy không báo lỗi là thành công
Chỉnh lại tên server trong file src/data/Ketnoidulieu.cs đang để trống
- Vào SSMS copy tên server có dạng
DESKTOP-E.....\SQLEXPRESS - Vào file paste vào tenserver đang để trống
Nếu muốn đổi tên database thành tên khác
- Đổi trong file
src/data/Ketnoidulieu.cs - Đổi trong file
sql/script.cs - Chổ nào có tên cũ thay thành tên muốn đổi
Đảm bảo service SQL Server (SQLEXPRESS) được chạy
- Nhấn Win + R nhập services.msc
- Tìm
SQL Server (SQLEXPRESS)và ấn start, apply
Tạo folder env sao cho folder nằm cùng folder src và các thư mục khác Vào folder env và tạo file .env có nội dung như sau
TENSERVER=<THAY TÊN SERVER DATABASE>
TENDATABASE=QuanLySinhVien-SQLserverTENSERVER có dạng
DESKTOP-E...\\SQLEXPRESS
dotnet run Đây là dự án phục vụ mục đích học tập và mô phỏng Hệ thống quản lý nên sẽ có những lỗi không mong muốn phát sinh trong quá trình thử nghiệm
Môt số thành phần sẽ được tiếp tục cải thiện
- Cơ chế xác thực đăng nhập / đăng ký
- Kiểm tra và chuẩn hóa nội dung đầu vào
- Thiết kế cơ sở dữ liệu
- Phát triển tính năng thống kê
- Cải thiện bảo mật tài khoản
- Bổ sung hệ thống theo dõi Logging
Nguyễn Trường Chinh (NTC++)
Ủng hộ: Nếu bạn thấy hữu ích hãy ủng hộ mình
GitHub: https://github.com/trgchinhh
📌 Dự án nhỏ được phát triển với mục đích học tập và nghiên cứu. Mọi góp ý và đóng góp đều được hoan nghênh. Nếu thấy hữu ích thì cho mình xin 1 sao cho repo này !!!




