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 …