Dijibill is a desktop application designed to streamline invoicing and business operations for Small and Medium-sized Enterprises (SMEs). Built with a focus on local compliance and user experience, it offers bilingual support (English/Arabic) and adheres to Saudi Arabian invoice standards, including VAT calculation and ZATCA-compliant QR codes.
To get Dijibill up and running on your local machine:
go install github.com/wailsapp/wails/v2/cmd/wails@latest
)Clone the repository:
git clone https://github.com/talha7k/dijibill.git
cd dijibill
Install frontend dependencies:
cd frontend
npm install
cd ..
Install Go dependencies:
go mod tidy
Run in development mode:
wails dev
This command will start the Go backend and the Svelte frontend development server, opening the application in a new window.
wails dev
wails build
To build for a specific platform (e.g., Windows):wails build -platform windows/amd64
wails generate
wails clean
gofmt
and standard Go conventions. Ensure clear error handling.dijibill/
├── app.go # Wails app context and API methods
├── database.go # Database operations and CRUD logic
├── main.go # Application entry point
├── models.go # Data structures and types
├── pdf_service.go # PDF generation service for invoices
├── qr_service.go # QR code generation service (ZATCA compliant)
├── frontend/
│ ├── src/
│ │ ├── App.svelte # Main application shell and routing
│ │ ├── Dashboard.svelte # Dashboard view
│ │ ├── GeneralSettings.svelte # Settings management
│ │ ├── Products.svelte # Product management view
│ │ ├── Customer.svelte # Customer management view
│ │ ├── SalesInvoices.svelte # Invoice management view
│ │ ├── components/ # Reusable Svelte UI components
│ │ ├── styles/ # Design system and global styles
│ │ └── wailsjs/ # Generated Wails bindings (Go -> JS)
│ ├── package.json
│ ├── tailwind.config.js
│ └── vite.config.js
Dijibill is specifically tailored for the Saudi Arabian market, focusing on:
We welcome contributions to Dijibill! Please ensure you:
[Add license information here, e.g., MIT License, Apache 2.0, etc.]