A modern Point of Sale system for managing customer accounts, products, and transactions.
- Customer accounts with balance management
- Product management with barcode scanning
- Transaction processing with real-time updates
- Role-based access control (Admin, Cashier, Customer)
- Automatic email notifications
- Audit logging of all system activities
- Responsive web interface
- Backend: Go 1.21+
- Frontend: HTMX + Tailwind CSS
- Database: SQLite
- Email: Azure Communication Services
- Authentication: Session-based with CSRF protection
- Download the latest binary from GitHub Releases:
# Windows
curl -sLO https://github.com/cubyverse/gopos/releases/latest/download/gopos-windows-amd64.exe
mv gopos-windows-amd64.exe gopos.exe
# Linux
curl -sLO https://github.com/cubyverse/gopos/releases/latest/download/gopos-linux-amd64
chmod +x gopos-linux-amd64
# macOS
curl -sLO https://github.com/cubyverse/gopos/releases/latest/download/gopos-darwin-amd64
chmod +x gopos-darwin-amd64
- Create configuration file in one of the following locations (in order of precedence):
- Current directory:
./config.yaml
- User config directory:
- Windows:
%APPDATA%\gopos\config.yaml
- Linux/macOS:
~/.config/gopos/config.yaml
- Windows:
- System config directory:
- Windows:
C:\ProgramData\gopos\config.yaml
- Linux/macOS:
/etc/gopos/config.yaml
- Windows:
database:
path: "/opt/gopos/gopos.db"
email:
endpoint: "https://your-resource-name.communication.azure.com"
access_key: "your-access-key-from-azure"
sender_mail: "noreply@your-verified-domain.com"
session:
key: "your-secure-session-key"
- Start the application:
# Windows
.\gopos.exe
# Linux/macOS
./gopos-linux-amd64
go run main.go
- Starts the application in development modetempl generate
- Generates template code./tailwindcss -i ./static/css/input.css -o ./static/css/output.css --watch
- Develop CSS with hot-reload