Skip to content

This project is a QR Code Generator App that dynamically generates a QR code based on user input and selected payment options. The QR code updates every 5 seconds and includes encrypted user information and payment details.

Notifications You must be signed in to change notification settings

mahmmedn19/QRCode-Generator

Repository files navigation

QR Code Generator App

Overview

This project is a QR Code Generator App that dynamically generates a QR code based on user input and selected payment options. The QR code updates every 5 seconds and includes encrypted user information and payment details.

This link to download APK: https://github.com/mahmmedn19/QRCode-Generator/blob/main/app/release/app-release.apk

Table of Contents

Features

  • User input form to capture user details (Name, Age, Gender, Phone Number)
  • Payment options selection
  • Dynamic QR code generation every 5 seconds
  • Encrypted text in QR code containing user and payment information

Screenshots

REC-20240608022053.mp4
image1 image2 image3 image4

Architecture

MVVM (Model-View-ViewModel) Pattern

The project follows the MVVM architecture pattern, which separates the user interface (View) from the business logic (ViewModel) and data (Model). This approach promotes a clear separation of concerns, making the codebase more modular, testable, and maintainable.

  • DataStoreManager: Interface to manage data persistence.
  • DataStoreManagerImpl: Implementation of DataStoreManager using Jetpack DataStore for local storage.
  • UiStates: Data class representing the state of each screen.
  • ViewModel: The ViewModel manages the UI-related data in a lifecycle-conscious way. It interacts with the Model to fetch data and prepares it for the View.

Setup

  1. Clone the repository:
git clone https://github.com/mahmmedn19/QRCode-Generator.git
cd qrcode-generator-app 

Open the project in Android Studio.

Build the project to download all necessary dependencies.

Run the application on an Android device or emulator.

Usage

Navigate through the app:

Fill in the user details on the User Form screen. Select a payment option on the Payment Options screen. View the dynamically updating QR code on the QR Code screen.

Libraries

  • Jetpack Compose: Modern UI toolkit for building native Android UI.
  • Jetpack DataStore: Jetpack library for data storage, used for local storage of user and payment information.
  • Hilt: Dependency injection library for Android, used for managing dependencies.
  • Airbnb Lottie: Library for adding animations to Android apps, used for displaying animated QR code.
  • ZXing: Library for QR code generation, used for dynamically generating QR codes.

About

This project is a QR Code Generator App that dynamically generates a QR code based on user input and selected payment options. The QR code updates every 5 seconds and includes encrypted user information and payment details.

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages