Skip to content

nativeapptemplate/NativeAppTemplate-Free-Android

NativeAppTemplate-Free-Android

NativeAppTemplate-Free-Android is a modern, comprehensive, and production-ready native Android app with user authentication and background tag reading.
This Android app is a free version of NativeAppTemplate-Android (Solo) and NativeAppTemplate-Android (Team).

The iOS version is available here: NativeAppTemplate-Free-iOS.

Overview

NativeAppTemplate-Free-Android is configured to connect to api.nativeapptemplate.com.
The Rails 8.1 API backend that powers api.nativeapptemplate.com is open source (MIT):

Screenshots

Screenshot showing Sign in screen, Shops screen and Settings screen

Features

NativeAppTemplate-Free-Android uses modern Android development tools and practices, including:

Included Features

  • Onboarding
  • Sign Up / Sign In / Sign Out
  • Email Confirmation
  • Forgot Password
  • CRUD Operations for Shops (Create/Read/Update/Delete)
  • CRUD Operations for Shops' Nested Resource, Number Tags (ItemTags) (Create/Read/Update/Delete)
  • Force App Version Update
  • Force Privacy Policy Version Update
  • Force Terms of Use Version Update
  • Generate QR Code Image for Number Tags (ItemTags) with a Centered Number
  • NFC features for Number Tags (ItemTags): Write Application Info to a Tag, Read a Tag, Background Tag Reading
  • And more!

NFC Tag Operations

How NFC tag writing and background reading works

Overview

Screenshot showing Overview before

Screenshot showing Overview after

The app replaces traditional paper tags with NFC tags to efficiently manage walk-in customer waitlists. It writes application-specific information onto your NFC cards (referred to as πŸ”΄ Server Tag and πŸ”΅ Customer Tag).

For Customers:
When a customer scans a πŸ”΅ Customer Tag, they can view the 🟒 Number Tags Webpage (a public webpage) on their mobile browser. This page displays completed Number Tags.

For Staff:
By scanning a πŸ”΄ Server Tag paired with the πŸ”΅ Customer Tag, staff can complete a Number Tag. Completed Number Tags automatically appear on the 🟒 Number Tags Webpage for customer reference.

How It Works

Screenshot showing Write Application Info to Tag screen, Scan Tag screen, and Shop Detail screen

  1. Write application info to pair Number Tags (Server Tag and Customer Tag) or a Customer QR code:
    • Go to: Shops > [Shop] > Shop Settings > Manage Number Tags > [Number Tag].
  2. Scan a Server Tag in the Scan tab.
  3. View the updated Number Tags status in the Shop Detail screen or on the Number Tags Webpage (see Background Tag Reading GIF below).

Recommended NFC Tags

For best performance, use NTAG215 (540 bytes) tags.
Example: 50pcs NFC Cards Ntag215 (Amazon USA).


Background Tag Reading

Gif showing Background Tag Reading

  1. Scan a Server Tag.
  2. View the updated Number Tags status in the Shop Detail screen or on the Number Tags Webpage.

The Number Tags Webpage updates in real-time using Rails Turbo.
This functionality is part of the open-source nativeapptemplateapi backend.

Note:
The GIF above shows MyTurnTag Creator for iOS in action, which may behave slightly differently from NativeAppTemplate-Free-Android.

Not Included in the Free Version

Gif showing Switching organization

The full versions (NativeAppTemplate-Android (Solo) and NativeAppTemplate-Android (Team)) include additional advanced features:

  • URL Path-Based Multitenancy (prepends /:account_id/ to URLs)
  • User Invitation to Organizations
  • Role-Based Permissions and Access Control
  • Organization Switching UI

Getting Started

To get started, clone this repository:

git clone https://github.com/nativeapptemplate/NativeAppTemplate-Free-Android.git

Requirements

To run this app successfully, ensure you have:

  • An Android device or emulator with API level 26 or higher.

Running with the NativeAppTemplate-API on localhost

To connect to a local API server, update the following configuration in the build.gradle.kts (Module: app):

buildConfigField("String", "DOMAIN","\"192.168.1.21\"")
buildConfigField("String", "PORT","\"3000\"")
buildConfigField("String", "SCHEME","\"http\"")

Blog

Contributing

Contributions are welcome! Please read CONTRIBUTING.md for guidelines on reporting issues, proposing changes, and submitting pull requests.

This project adheres to the Contributor Covenant Code of Conduct. By participating, you are expected to uphold this code.

Security

If you discover a security vulnerability, please follow the disclosure process in SECURITY.md. Do not open public issues for security concerns.

License

This project is licensed under the MIT License β€” see LICENSE for details.

About

Modern, full-featured, production-ready native Android app with user authentication and background tag reading.

Topics

Resources

License

Code of conduct

Contributing

Security policy

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors