Nuka POS β A smart, tax-compliant Point of Sale (POS) system for businesses in Zambia. ππ° Integrates with ZRA Smart Invoicing API, supports barcode scanning, multi-payment methods, and offline functionality. Built with Flutter & Spring Boot for cross-platform compatibility. π
# **Nuka** π
**A smart, tax-compliant Point of Sale (POS) system for businesses in Zambia**
## **π Overview**
Nuka is a **modern and efficient Point of Sale system** designed for **small businesses and enterprises in Zambia**. It simplifies **sales tracking, tax compliance, and financial reporting** by integrating with the **ZRA Smart Invoicing API**.
**This project is developed as a final year Computer Science project.**
### **β¨ Key Features**
- π· **Barcode Scanning** (via phone camera)
- π³ **Multi-Payment Support** (Cash, Mobile Money, Bank Transfers, Cards)
- π **Real-time Sales Analytics & Reporting**
- π **ZRA Smart Invoicing API Integration** for automated tax compliance
- π **Cross-platform Compatibility** (Flutter for frontend, Spring Boot for backend)
- βοΈ **Offline Mode with Cloud Sync**
- π **Scalable & Customizable** for different business needs
---
## **π Tech Stack**
| Component | Technology |
|-------------|-----------|
| **Frontend** | Flutter (Dart) |
| **Backend** | Spring Boot (Java) |
| **Database** | MySQL |
| **Containerization** | Docker |
---
## **π Getting Started**
### **π Prerequisites**
Ensure you have the following installed:
- Flutter SDK
- Java 17+
- Spring Boot
- MySQL
- Docker
### **π₯ Clone the Repository**
```sh
git clone
github.com
cd Nuka
```
---
## **π Project Structure**
```
Nuka/
βββ backend/ # Spring Boot application
βββ frontend/ # Flutter application
βββ database/ # MySQL scripts
βββ docker/ # Docker setup files
βββ README.md # Documentation
```
---
## **π Backend Setup (Spring Boot + MySQL)**
### **1οΈβ£ Configure Database**
Ensure MySQL is running and create a database:
```sql
CREATE DATABASE nuka;
```
Update `application.properties` in `backend/src/main/resources/`:
```properties
spring.datasource.url=jdbc:mysql://localhost:3306/nuka
spring.datasource.username=root
spring.datasource.password=yourpassword
```
### **2οΈβ£ Run Ba β¦