A Windows application designed for small coffee shops with single-staff operations. Staff can open shifts, place orders, and process payments via cash or QR code. Features include receipt management, customer tracking, and shift reporting.
- Shift Management: Open, close, and track staff shifts
 - Order Processing: Create and manage customer orders
 - Payment Handling: Accept payments via cash or QR code
 - Receipt Management: Generate and print customer receipts
 - Customer Tracking: Build customer database for loyalty programs
 - Reporting: Generate end-of-shift and sales reports
 
- Frontend: WinUI 3
 - Architecture: MVVM (Model-View-ViewModel)
 - Design Patterns: IRepository, Singleton, DAO (Data Access Object)
 - Backend: GraphQL API via Graphile
 - Database: PostgreSQL
 - Containerization: Docker
 
- POS For Small Shop: Main WinUI 3 application code
 - API: GraphQL API server powered by Graphile and PostgreSQL
 
- 
Navigate to the
apidirectory:cd API - 
Using manually build description in /API/README.md to start api:
 - 
The GraphQL API will be available at: http://localhost:5000/graphql
 
- Open the solution in Visual Studio 2022
 - Make sure you have the Windows App SDK installed
 - Build and run the application
 
- You can run the exe file in release folder. Or running app directly from visual studio.
 - Please start docker and api before running app.
 - If the QR payment is not active you need to go to folder src/POS For Small Shop/Services/QRService.cs, and adding you api key from (vietQR).
 
- The application follows MVVM architecture
 - Data access is implemented using the Repository pattern
 - API communication is handled through GraphQL
 
- Windows 10 version 1809 or later
 - Visual Studio 2022 with Windows App SDK workload
 - Docker Desktop (for running the API)