Skip to content

Repository files navigation

🛒 ACME Supermarket App

A local-first Android supermarket application enabling customers to purchase products without staff assistance. Combines security, convenience, and seamless checkout using QR codes and NFC technology.


✨ Key Features

  • Reactive & Seamless UI – Smooth, responsive interface built in Kotlin
  • Secure Authentication – Encrypted local storage with server-side validation for enhanced security
  • Smart Shopping – Scan product QR codes to add items to your virtual basket
  • Voucher System – Apply discount vouchers at checkout for reduced pricing
  • Flexible Checkout – Complete purchases via QR code scan or NFC technology
  • Server Validation – Critical operations verified with the supermarket server for security and accuracy

For comprehensive technical details, see the Project Report.


🛠️ Tech Stack

Component Technology
Mobile App Kotlin (Android)
Backend Node.js + Express
Database SQL
Authentication Encrypted Local Storage + Server Validation

📸 Screenshots

Main Screen

Main Shopping Screen

Login & Registration

Register Page

Shopping Cart

Basket Page

Checkout

Checkout Page

🚀 Getting Started

Prerequisites

  • Android Studio (latest version)
  • JDK 11 or higher
  • Node.js 14+ (for backend server)
  • Gradle 7.0+

Installation

  1. Clone the repository

    git clone <repository-url>
    cd ACME_SupermarketApp
  2. Build the Android app

    ./gradlew build
  3. Set up the backend server

    cd nodeServer
    npm install
    npm start
  4. Deploy to device/emulator

    ./gradlew installDebug

📁 Project Structure

ACME_SupermarketApp/
├── app/                          # Android Application
│   ├── src/main/
│   │   ├── java/                 # Kotlin source code
│   │   └── res/                  # UI resources (layouts, drawables, values)
│   └── build.gradle.kts
├── nodeServer/                   # Backend Server
│   ├── server.js                 # Express server entry point
│   ├── database/                 # Database operations
│   ├── middleware/               # API routes & middleware
│   └── package.json
└── gradle/                       # Gradle configuration

🔒 Security Features

  • Encrypted Authentication – User credentials securely stored and transmitted
  • Server Validation – All critical transactions verified server-side
  • Secure Checkout – Final prices confirmed with server to prevent tampering
  • QR/NFC Support – Contactless, tamper-proof transaction initiation


👤 Contact

Email: rafael2003t.18@gmail.com

About

A local-first Android app for autonomous supermarket shopping, featuring secure, seamless checkout via QR codes and NFC.

Topics

Resources

Stars

1 star

Watchers

1 watching

Forks

Releases

Contributors

Languages