MỞ ĐẦU 1. Lý do chọn đề tài Quản lý tài chính cho khu ký túc xá sinh viên đòi hỏi sự tổ chức và minh bạch để đảm bảo hoạt động hàng ngày diễn ra một cách hiệu quả và linh hoạt. Việc quản lý các khoản thu và chi, bao gồm tiền phòng, tiền điện, tiền nước và các khoản chi phí khác, là một thách thức không nhỏ. Dự án này được tạo ra với mục đích giải quyết những thách thức này và cung cấp một hệ thống quản lý tài chính toàn diện và tiện lợi cho người quản lý ký túc xá.
Nội dung nghiên cứu - Tìm hiểu bài toán: Nắm bắt và hiểu rõ các quy trình và yêu cầu quản lý tài chính cho khu ký túc xá sinh viên, bao gồm việc quản lý tiền phòng, tiền điện, tiền nước và các khoản phí khác. - Phân tích thiết kế hệ thống: Xác định và thiết kế các chức năng cần thiết để quản lý và theo dõi các khoản thu và chi phí, cũng như tổ chức dữ liệu một cách có tổ chức và dễ quản lý. - Tìm hiểu công nghệ: Sử dụng các công nghệ phù hợp để phát triển hệ thống, bao gồm ngôn ngữ lập trình, cơ sở dữ liệu và framework phát triển phần mềm. Mục đích chọn đề tài Mục đích của dự án là cung cấp một hệ thống quản lý tài chính toàn diện và tiện lợi cho người quản lý ký túc xá sinh viên.
Hệ thống này sẽ giúp họ quản lý và theo dõi các khoản thu và chi phí một cách hiệu quả, bao gồm tiền phòng, tiền điện, tiền nước và các khoản phí khác, từ việc thu và ghi nhận thông tin đến việc phân tích và báo cáo kết quả. Phương pháp nghiên cứu Dự án sẽ tiến hành nghiên cứu bằng cách tổng hợp thông tin từ người quản lý ký túc xá và các bên liên quan, phân tích các quy trình và yêu cầu cụ thể, và áp dụng các kiến thức về thiết kế hệ thống và công nghệ web để xây dựng ứng dụng có tính ứng dụng cao và đáp ứng được nhu cầu thực tế. 1 ❖ Về mặt lý thuyết - Hiểu được cách thức hoạt động của Client – Server sử dụng ngôn ngữ Javascript - Hiểu được hệ quản trị cơ sở dữ liệu PostgréQL - Hiểu được cách phân tích thiết kế hệ thống phần mềm ❖ Về mặt lập trình - Sử dụng PostgreSQL, một hệ quản trị cơ sở dữ liệu mạnh mẽ và phổ biến, để lưu trữ và quản lý dữ liệu cho ứng dụng của bạn. - Sử dụng Node.js và Hasura để tạo và quản lý API cho ứng dụng của bạn.
Hasura là một platform cho phép bạn tạo ra các API dựa trên GraphQL một cách nhanh chóng và dễ dàng. - Sử dụng Vite và ReactJS để phát triển giao diện người dùng của ứng dụng. Vite là một công cụ build nhanh và hiệu quả cho các ứng dụng web, trong khi ReactJS là một thư viện JavaScript phổ biến cho việc xây dựng giao diện người dùng tương tác. - Sử dụng Tailwind CSS để thiết kế và tạo giao diện cho ứng dụng của bạn.
Tailwind CSS là một framework CSS linh hoạt và dễ sử dụng, cho phép bạn tạo ra các giao diện đẹp mắt và hiệu quả một cách nhanh chóng. - Clerk: Clerk cung cấp các công cụ xác thực và quản lý người dùng mạnh mẽ, giúp bạn dễ dàng tích hợp tính năng đăng nhập, đăng ký và quản lý tài khoản người dùng vào ứng dụng của mình mà không cần phải xây dựng lại từ đầu. - Vercel: Vercel là một nền tảng hosting và triển khai phổ biến cho các ứng dụng web và API. Nó cung cấp các công cụ linh hoạt để triển khai ứng dụng React và Node.js của bạn một cách dễ dàng, kèm theo tính năng như auto- scaling và continuous deployment.
❖ Về mặt hoạt động - Đảm bảo rằng website thực hiện đầy đủ các chức năng theo yêu cầu, bao gồm việc xử lý dữ liệu đầu vào từ người dùng và đưa ra các kết quả xử lý chính xác và đáng tin cậy. Phạm vi, đối tượng nghiên cứu của đề tài - Phạm vi: Hệ thống quản lý tài chính sẽ được thiết kế để hỗ trợ người quản lý ký túc xá trong việc quản lý và theo dõi các khoản thu và chi phí, bao gồm tiền phòng, tiền điện, tiền nước và các khoản phí khác. - Đối tượng: Người quản lý ký túc xá và nhân viên liên quan có nhu cầu quản lý tài chính và theo dõi các khoản thu và chi phí. TỔNG QUAN VỀ ĐỀ TÀI 1.
Hiện trạng quản lý khách sạn sinh viên Hiện tại, việc quản lý các khoản thu và chi, bao gồm tiền phòng, tiền điện, tiền nước và các khoản chi phí khác, đang gặp nhiều khó khăn. Các quy trình quản lý tài chính thường được thực hiện thủ công hoặc bằng các phần mềm cũ kỹ, không đáp ứng được yêu cầu hiện đại. Điều này dẫn đến nhiều vấn đề như sai sót trong ghi chép, thiếu minh bạch trong quản lý tài chính, và mất nhiều thời gian và công sức cho việc nhập liệu và theo dõi.Trong thời đại công nghệ ngày nay, việc áp dụng các giải pháp công nghệ vào quản lý tài chính khu ký túc xá sinh viên trở nên cần thiết để tối ưu hoá quá trình này và đảm bảo tính chính xác, hiệu quả. Cụ thể, một số khó khăn chính trong quản lý tài chính ký túc xá hiện tại bao gồm: Sai sót trong ghi chép và theo dõi: Việc quản lý tài chính bằng tay hoặc qua các phần mềm cũ có thể dẫn đến nhiều sai sót trong ghi chép các khoản thu và chi, gây khó khăn trong việc theo dõi chính xác tình hình tài chính.
Thiếu minh bạch: Thông tin tài chính không được cập nhật kịp thời và rõ ràng, gây khó khăn cho việc kiểm tra và đối chiếu các khoản thu chi, làm giảm độ tin cậy trong quản lý tài chính. Tốn nhiều thời gian và công sức: Việc nhập liệu và theo dõi các khoản thu chi bằng phương pháp thủ công hoặc các phần mềm không hiệu quả mất nhiều thời gian và công sức của người quản lý, làm giảm hiệu suất công việc. Khó khăn trong việc tổng hợp và báo cáo: Các phần mềm cũ thường thiếu tính năng tổng hợp và tạo báo cáo tự động, gây khó khăn cho việc tạo ra các báo cáo tài chính chi tiết và chính xác. Không tích hợp thanh toán trực tuyến: Việc thiếu các phương thức thanh toán trực tuyến gây bất tiện cho sinh viên trong việc thực hiện các giao dịch tài chính, dẫn đến tình trạng chậm trễ trong thanh toán và quản lý nợ.
Phát biểu bài toán Bài toán mà dự án này đặt ra là làm thế nào để giải quyết những thách thức nêu trên và cung cấp một hệ thống quản lý tài chính toàn diện và tiện lợi cho người quản lý ký túc xá. Phần mềm mới sẽ tự động hóa các quy trình quản lý tài chính, giảm thiểu sự can thiệp thủ công và sai sót, cung cấp báo cáo chi tiết và minh bạch, tiết kiệm thời gian và nguồn lực, và nâng cao trải nghiệm người dùng thông qua giao diện thân thiện. Giải pháp Để giải quyết bài toán trên, em đề xuất xây dựng một ứng dụng web sử dụng các công nghệ hiện đại để quản lý tài chính cho khu ký túc xá sinh viên. Ứng dụng này sẽ được thiết kế để dễ sử dụng và linh hoạt, đồng thời đảm bảo tính minh bạch và chính xác trong quản lý tài chính.
Yêu cầu đạt được của hệ thống ❖ Yêu cầu chung - Trang chủ - Cài đặt của hệ thống - Quản lý tài chính ❖ Yêu cầu của các chức năng - Trang chủ: + Giới thiệu về hệ thống - Cài đặt của hệ thống + Tạo tài khoản cho người dùng + Phân quyền cho tài khoản người dùng + Cài đặt đơn giá điện: đơn giá của 1 số điện áp dụng trong 1 khoảng thời gian + Cài đặt đơn giá nước: đơn giá của 1 số nước áp dụng trong 1 khoảng thời gian - Quản lý tài chính 5 + Nhập các chỉ số điện, nước hàng tháng + Tính toán số tiền hàng tháng của các phòng + Báo cáo về số tiền hàng tháng của các phòng + Thông báo cho sinh viên về số tiền hàng tháng 1. Giới thiệu các công nghệ được sử dụng trong chương trình ❖ Database4 - Database4 là một ứng dụng giao diện người dùng đồ hoạ (GUI) cho PostgreSQL, giúp bạn quản lý cơ sở dữ liệu PostgreSQL từ xa một các thuận tiện và trực quan. Dưới đây là một số tính năng chính của Database4: + Khám phá cơ sở dữ liệu: Database4 cho phép bạn duyệt qua các cơ sở dữ liệu và các bảng, xem cấu trúc của chúng và tìm hiểu về dữ liệu một cách trực quan thông qua giao diện người dùng. + Thực thi truy vấn SQL: Bạn có thể tạo và thực thi các truy vấn SQL trực tiếp từ Database4.
Điều này cho phép bạn thao tác với dữ liệu và cấu trúc cơ sở dữ liệu một cách linh hoạt và hiệu quả. + Xem và chỉnh sửa dữ liệu: Database4 cho phép bạn xem và chỉnh sửa dữ liệu trực tiếp từ giao diện người dùng. Điều này giúp bạn thực hiện các tác vụ quản lý dữ liệu một cách dễ dàng và nhanh chóng. + Quản lý chỉ mục: Bạn có thể xem và quản lý các chỉ mục trên các bảng của mình, và Database4 cung cấp các công cụ để đảm bảo rằng chỉ mục được sử dụng một cách hiệu quả.
+ Kết nối dễ dàng: Database4 cho phép bạn kết nối với cơ sở dữ liệu PostgreSQL của mình từ xa một cách dễ dàng thông qua các kết nối đã được thiết lập trước. - Với Database4, bạn có thể quản lý và tương tác với cơ sở dữ liệu PostgreSQL của mình một cách tiện lợi và hiệu quả, giúp tối ưu hóa quá trình phát triển và quản lý dữ liệu của bạn. 6 ❖ PostgreSQL - PostgreSQL là một hệ quản trị cơ sở dữ liệu quan hệ mã nguồn mở, phát triển và duy trì bởi một cộng đồng toàn cầu của các nhà phát triển. Đây là một trong những hệ quản trị cơ sở dữ liệu (HDCSDL) phổ biến nhất, nổi tiếng với tính mở rộng, độ tin cậy cao, và tính năng mạnh mẽ.
Dưới đây là một số điểm nổi bật về PostgreSQL: + Quản lý dữ liệu quan hệ: PostgreSQL cho phép lưu trữ và quản lý dữ liệu quan hệ thông qua bảng và mối quan hệ giữa chúng, giúp tổ chức dữ liệu một cách logic và có tổ chức. + Tính ACID: PostgreSQL hỗ trợ các tính chất ACID (Atomicity, Consistency, Isolation, Durability), đảm bảo tính toàn vẹn và nhất quán của dữ liệu trong quá trình thực hiện các thao tác.