Skip to content

luuductrung1234/Pos_4_Asowell

Repository files navigation

POS_4_ASOWELL

Status: Maintaining

Main Feature: Restaurant Point of Sale System (ordering, stocking, data analysis,...)

o Include:

•	Employee workspace: thực hiện các thao tác order phù hợp với business requirement của Asowel restaurant, xem thông tin cá nhân của nhân viên, tự động chấm công khi nhân viên đăng nhập vào phần mềm. Nhiều nhân viên có thể tham gia đăng nhập, và cùng tham gia order

•	Admin workspace: quản lý tất cả thông tin và dữ liệu liên quan đến nhà hàng: Nhân viên, Khách hàng, Sản phẩm (món ăn), Nguyên liệu, Hoá đơn bán hàng, Hoá đơn nhập kho. Thống kê tài chính, thu (lượng bán ra), chi (lượng mua nguyên liệu và các chi phí phát sinh) của toàn hệ thống nhà hàng. Xuất báo cáo

•	Warehouse workspace: Theo dõi và thu thập dữ liệu về kho (lượng hàng tồn, lượng đã sử dụng). Nhập hoá đơn nhập kho. Thông kê dữ liệu liên quan đến kho. Xuất báo cáo

o Guaranty:

•	An toàn  trong các sự cố bất ngờ: ví dụ như mất điện, phần cứng hỏng

•	Bảo toàn dữ liệu, mã hoá các tài khoản

•	Truy xuất dữ liệu, thực thi các tác vụ chuyên môn (order, xuất báo cáo) nhanh gọn.

Technology Usage: C# .NET with WPF framework, Material Design. Include some open source library: MaterialDesignInXAML Toolkit, dragablz, mahapp.metro, livechart, EntityFramework, PDFReport,...

Note:

  • code style requirement not up to date
  • Mobile and Web version are in progress

Develop Team:

- Lưu Đức Trung (team leader, software back-end architecter, security, software event manipulator)
- Nguyễn Hoàng Nam (main UI designer/creator, manage Warehouse and Admin workspace)
- Lê Đức Anh (main back-end developer, software event manipulator, manage Admin workspace)


-**Contact**:
  luuductrung@itcomma.com
  luuductrung1234@gmail.com
  0927333668

Figure:

Login Window

Startup

Login

Employee Login

Admin Login

Employee Workspace

Start Table map Validation Entry Sub menu Employee menu

Admin Workspace

Start Home Float button Food statistic Revenue statistic Sample workspace


Software's procession:

- [x] : áp dụng bất đồng bộ (asynchronous hay còn gọi là lập trình đa tiến đoạn) để giúp chương trình thực thi đa tác vụ hiệu quả hơn (cái này cần thảo luận)
  • Database and WebService:

    • : Kết nối vào thao tác truy xuất xử lý dữ liệu (local) bằng ADO.NET Entity Framework
    • : Kết nối vào thao tác truy xuất xử lý dữ liệu (cloud/web API) bằng ADO.NET Entity Framework
    • : Thiết kế cho phép dữ liệu được thao tác bởi nhiều chương trình chạy đồng thời cùng một lúc một cách an toàn, kiểm tra và ngăn chận các tình huống bất đồng bộ (concurrency error)
    • : Áp dụng Silence Retries để ngầm khắc phục các lỗi liên kết và truy vấn dữ liệu từ database
    • [] : webservice cung cấp dịch vụ về dữ liệu (Data service) và xử lý các tác vụ đa tầng (n-tier architect). Kết hợp lưu trữ đồng bộ giữ local database và cloud, tăng độ an toàn khi có sự cố bất ngờ xảy ra
  • LoginWindow:

    • : đăng nhập cho nhân viên và quản lý, đăng nhập bằng Employee Code
    • : chức năng thay đổi cấu hình đăng nhập database, sau khi chỉnh sửa và đăng nhập thành công, chương trình tự động lưu dữ liệu của database đó (lần sau không cần điều chỉnh nữa). Thông tin database sẽ được lưu vào databaseinfo.txt
    • : mã hoá mật khẩu người dùng
  • EmployeeWorkspaceWindow:

    • : Nhân viên đăng nhập, tự động lấy thời gian bắt đầu đăng nhập. Khi nhân viên đăng xuất, tự động lấy thời gian đăng xuất, chấm công và phát sinh WorkingHistory trong ngày (store procedure trong database se tự động cập nhật vào bảng lương của tháng hiện tại của nhân viên)
    • : Nhiều nhân viên đăng nhập cùng một lúc, đều được chấm công
    • : Cửa sổ hiển thị sơ đồ chỗ ngồi (dựa trên map của nhà hàng, cho phép tùy chỉnh). Khi nhân viên chọn bàn thì tiến hành navigate đến cửa sổ Entry (order)
    • : Yêu cầu danh tính cấp độ admin để có thể chỉnh sửa các Table đã được Pin
    • : Yêu cầu xác thực danh tính mỗi khi tiến hành order, sau đó có thể thực thi order cho đến khi nào cá nhân đó kết thúc phiên làm việc hiện tại.
    • : Xác thực bằng Employee Code
    • : Lưu thông tin ID của tất cả nhân viên tác động lên cùng một order
    • : các khung xuất menu, thêm fiter món ăn theo bản chữ cái, thiết kế nút tìm món ăn (thêm ảnh cho món ăn nếu cần). Ngoài ra còn có khung xuất các nguyên liệu (để phục vụ chắc năng nhập hóa đơn mua nguyên liệu)
    • : khung nhập vào thao tác order, tác động trực tiếp vào bàn hiện tại
    • : Yêu cầu danh tính admin để có thể xóa các thông tin order trong bàn hiện tại
    • : xây dựng khung Setting cho các tuỳ chỉnh một số thuộc tính trong EmployeeWorkspaceWindow, các tuỳ chỉnh lưu vào settinginfo.txt
    • : xây dựng khung thông tin nhân viên, cho phép nhân viên chỉnh sủa tài khoản, thông tin cá nhân

    Phần sau này là thao tác in và thanh toán bill

    • : Cho phép thanh toán và lưu dữ liệu đã order vào database
    • : Tiến hành thiết kế form của bill
    • : In bill thông qua printer. Tính năng tuỳ chỉnh hiển thị văn bản in trước khi in (order bill thì chia hai cho bar và kitchen, temporary bil và receipt bill)
    • : Tùy chỉnh máy in
    • : In thêm note của từng món ăn trong bill (kitchen print)
    • : xuất bill dưới dạng pdf
    • : In end of day report (theo dạng tài liệu pdf hoặc dạng hoá đơn liệt kê)
    • : thêm chức năng lưu nhật kí phòng trường hợp chương trình bị đóng đột ngột (Nhưng lưu thông tin nhân viên thì chưa khả thi). Có thể giải quyết bằng cách cho phép sau 5-10 phút sẽ tự động lưu thời điểm hiện tại và nhân viên hiện tại vào file
    • [] : Lưu lịch sử làm việc của các nhân viên
    • : swap/merge bill
    • : cho phép chia bill ra để thanh toán theo từng ghế
    • : Không cho đăng xuất khi còn bàn đang order

(*) dự kiến : Bổ sung thông tin khách hàng, thêm chức năng xuất thông tin và hình ảnh nhận diện khách hàng quen thuộc, khi xuất danh sách khách hàng cho nhân viên xem có thể sort theo số lần khách hàng đã đến quán

  • WareHouseWindow:

    • : đăng nhập/đăng xuất
    • : khung nhập hóa đơn mua nguyên liệu vào kho (gần giống với khung nhập order)
    • : xây dựng cửa sổ theo dõi, thống kê lượng nguyên liệu sử dụng và lương nguyên liệu đưa vào kho
    • : thống kê các nguyên liệu theo lượng sử dụng
    • : chức năng kiểm tra và thông báo khi lượng nguyên liệu gần hết (cần thông tin các món ăn, nguyên liệu, công thức, và hệ thống quy đổi đơn vị dùng, đơn vị mua và đơn vị lưu trữ nguyên liệu)
    • : xây dựng cửa sổ nhập đơn hàng, sau khi nhân viên nhập đơn hàng sẽ tự động sinh dữ liệu ReceitpNote và ReceiptNoteDetails trong database
    • [] : Kho cho AdPress
  • AdminWorkspaceWindow:

    • : Employee information form (giao diện/xem/xoá/sửa thông tin/tìm kiếm(theo tên, ?))
    • : Salary N`ote information form (giao diện/xem/xoá/sửa thông tin)
    • : Customer information form (giao diện/xem/xoá/sửa thông tin/tìm kiếm(theo tên, ?))
    • : Product information form (giao diện/xem/xoá/tìm kiếm(theo tên, ?))
    • : Ingredient information form (giao diện/xem/xoá/sửa thông tin/tìm kiếm(theo tên, ?))
    • : Cho phép thiết kế món ăn mới (map món ăn và lượng nguyên liệu tho công thức)
    • : Order information form (giao diện/xem/tìm kiếm(theo ngày, ?))
    • : ReceiptNote information form (giao diện/xem/tìm kiếm(theo ngày, ?))
    • : Admin profile information form (giao diện/xem/sửa thông tin) _ không có quyền xóa bất kì admin nào
    • : xuất report cho dữ liệu order/order details, empschedule/salarynote
    • : xuất report cho dữ liệu receiptnote/receiptnote details
    • : xuất end of day report
    • : hiển thị data chart cho order/order details,, receipnote/receiptnote details. Thống kê thu nhập
    • : hiện thị data chart cho salaryNote/workingHistory và product(theo lượng được gọi)

(*) dự kiến : Chức năng cho phép admin thêm lịch làm việc cho nhân viên hằng tuần, và nhân viên chỉ có thể login trong khung giờ mà admin đã sắp xếp (nếu login trễ hơn tức là đã đi làm trễ, logout sớm hơn giờ đã định => thông báo cho admin, trừ lương). Chức năng kiểm toán thu chi theo ngày/tháng/năm. Chức năng đồ hoạ vẽ biểu đồ thu nhập.