{"id":22662839,"url":"https://github.com/nativeapptemplate/nativeapptemplate-free-android","last_synced_at":"2025-10-13T21:04:43.329Z","repository":{"id":267064948,"uuid":"899795569","full_name":"nativeapptemplate/NativeAppTemplate-Free-Android","owner":"nativeapptemplate","description":"Modern, full-featured, production-ready native Android app with user authentication and background tag reading.","archived":false,"fork":false,"pushed_at":"2025-03-15T10:23:15.000Z","size":23703,"stargazers_count":10,"open_issues_count":0,"forks_count":1,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-03-25T11:11:35.546Z","etag":null,"topics":["android","authentication","jetpack-compose","kotlin","nfc","qrcode","rest-api","saas","saas-boilerplate"],"latest_commit_sha":null,"homepage":"https://nativeapptemplate.com","language":"Kotlin","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/nativeapptemplate.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":"SECURITY.md","support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2024-12-07T03:29:27.000Z","updated_at":"2025-03-15T12:32:00.000Z","dependencies_parsed_at":"2024-12-08T04:23:20.023Z","dependency_job_id":"3a1189b7-6c21-477a-9b11-d5a3b992189c","html_url":"https://github.com/nativeapptemplate/NativeAppTemplate-Free-Android","commit_stats":null,"previous_names":["nativeapptemplate/nativeapptemplate-free-android"],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/nativeapptemplate%2FNativeAppTemplate-Free-Android","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/nativeapptemplate%2FNativeAppTemplate-Free-Android/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/nativeapptemplate%2FNativeAppTemplate-Free-Android/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/nativeapptemplate%2FNativeAppTemplate-Free-Android/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/nativeapptemplate","download_url":"https://codeload.github.com/nativeapptemplate/NativeAppTemplate-Free-Android/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":248429106,"owners_count":21101783,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["android","authentication","jetpack-compose","kotlin","nfc","qrcode","rest-api","saas","saas-boilerplate"],"created_at":"2024-12-09T12:15:52.447Z","updated_at":"2025-10-13T21:04:38.309Z","avatar_url":"https://github.com/nativeapptemplate.png","language":"Kotlin","readme":"# NativeAppTemplate-Free-Android\n\nNativeAppTemplate-Free-Android is a modern, comprehensive, and production-ready native Android app with user authentication and [background tag reading](https://developer.apple.com/documentation/corenfc/adding-support-for-background-tag-reading).  \nThis Android app is a free version of  [NativeAppTemplate-Android (Solo)](https://nativeapptemplate.com/products/android-solo) and [NativeAppTemplate-Android (Team)](https://nativeapptemplate.com/products/android-team).  \n\nThe iOS version is available here: [NativeAppTemplate-Free-iOS](https://github.com/nativeapptemplate/NativeAppTemplate-Free-iOS).  \n\n## Overview\n\nNativeAppTemplate-Free-Android is configured to connect to `api.nativeapptemplate.com`.  \nYou can purchase the source code for the backend server APIs, made with Ruby on Rails, that power `api.nativeapptemplate.com`:\n\n- [NativeAppTemplate-API (Solo)](https://nativeapptemplate.com/products/api-solo)  \n- [NativeAppTemplate-API (Team)](https://nativeapptemplate.com/products/api-team)\n\n### Screenshots\n\n![Screenshot showing Sign in screen, Shops screen and Settings screen](https://github.com/nativeapptemplate/NativeAppTemplate-Free-Android/blob/main/docs/images/screenshots.png \"Screenshot showing Sign in screen, Shops screen and Settings screen\")\n\n### Features\n\nNativeAppTemplate-Free-Android uses modern Android development tools and practices, including:\n\n- **100% Kotlin**\n- **100% Jetpack Compose**\n- **Hilt** (Dependency Injection)\n- **Retrofit2** (Networking)\n- **[Proto DataStore](https://developer.android.com/topic/libraries/architecture/datastore)**  \n- **[Android Modern App Architecture](https://developer.android.com/topic/architecture#modern-app-architecture)**\n- **[Simple MVVM Layered Architecture](https://medium.com/@dadachix/key-differences-in-mvvm-architecture-ios-vs-android-e239d30b2ea7)**\n- **Test**  \n- Inspired by [nowinandroid](https://github.com/android/nowinandroid) and [emitron-Android](https://github.com/razeware/emitron-Android)\n\n#### Included Features\n\n- Onboarding\n- Sign Up / Sign In / Sign Out\n- Email Confirmation\n- Forgot Password\n- Input Validation\n- CRUD Operations for Shops (Create/Read/Update/Delete)\n- CRUD Operations for Shops’ Nested Resource, Number Tags (ItemTags) (Create/Read/Update/Delete)\n- Generate QR Code Image for Number Tags (ItemTags) with a Centered Number\n- NFC features for Number Tags (ItemTags): Write Application Info to a Tag, Read a Tag, Background Tag Reading\n- And more!\n\n## NFC Tag Operations\n\n### Overview  \n\n![Screenshot showing Overview before](https://github.com/nativeapptemplate/NativeAppTemplate-Free-Android/blob/main/docs/images/overview_before.png \"Screenshot showing Overview before\")\n\n![Screenshot showing Overview after](https://github.com/nativeapptemplate/NativeAppTemplate-Free-Android/blob/main/docs/images/overview_after.png \"Screenshot showing Overview after\")\n\nThe 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 :red_circle: **Server Tag** and :large_blue_circle: **Customer Tag**).\n\n**For Customers:**  \nWhen a customer scans a :large_blue_circle: **Customer Tag**, they can view the :green_circle: **Number Tags Webpage** (a public webpage) on their mobile browser. This page displays completed Number Tags.\n\n**For Staff:**  \nBy scanning a :red_circle: **Server Tag** paired with the :large_blue_circle: **Customer Tag**, staff can complete a Number Tag. Completed Number Tags automatically appear on the :green_circle: **Number Tags Webpage** for customer reference.\n\n### How It Works  \n\n![Screenshot showing Write Application Info to Tag screen, Scan Tag screen, and Shop Detail screen](https://github.com/nativeapptemplate/NativeAppTemplate-Free-Android/blob/main/docs/images/screenshots_nfc.png \"Screenshot showing Write Application Info to Tag screen, Scan Tag screen, and Shop Detail screen\")\n\n1. Write application info to pair **Number Tags** (Server Tag and Customer Tag) or a **Customer QR code**:  \n   - Go to: **Shops \u003e [Shop] \u003e Shop Settings \u003e Manage Number Tags \u003e [Number Tag]**.  \n2. Scan a **Server Tag** in the **Scan** tab.  \n3. View the updated **Number Tags** status in the **Shop Detail** screen or on the **Number Tags Webpage** (see Background Tag Reading GIF below).  \n\n### Recommended NFC Tags  \nFor best performance, use **NTAG215 (540 bytes)** tags.  \nExample: [50pcs NFC Cards Ntag215](https://www.amazon.com/dp/B087FRYY8S) (Amazon USA).  \n\n---\n\n### Background Tag Reading  \n\n![Gif showing Background Tag Reading](https://github.com/nativeapptemplate/NativeAppTemplate-Free-Android/blob/main/docs/images/nfc.gif \"Showing Background Tag Reading\")  \n\n1. Scan a Server Tag.  \n2. View the updated Number Tags status in the **Shop Detail** screen or on the **Number Tags Webpage**.  \n\nThe **Number Tags Webpage** updates in real-time using Rails [Turbo](https://turbo.hotwired.dev).  \nThis functionality is available in:  \n- [NativeAppTemplate-API (Solo)](https://nativeapptemplate.com/products/api-solo)  \n- [NativeAppTemplate-API (Team)](https://nativeapptemplate.com/products/api-team)  \n\n\u003e **Note:**  \n\u003e The GIF above shows [MyTurnTag Creator for iOS](https://apps.apple.com/app/myturntag-creator/id1516198303) in action, which may behave slightly differently from **NativeAppTemplate-Free-Android**.\n\n## Not Included in the Free Version\n\n![Gif showing Switching organization](https://github.com/nativeapptemplate/NativeAppTemplate-Free-Android/blob/main/docs/images/organization.gif \"Showing Switching organization\")  \n\nThe full versions ([NativeAppTemplate-Android (Solo)](https://nativeapptemplate.com/products/android-solo) and [NativeAppTemplate-Android (Team)](https://nativeapptemplate.com/products/android-team)) include additional advanced features:\n\n- URL Path-Based Multitenancy (prepends `/:account_id/` to URLs)\n- User Invitation to Organizations\n- Role-Based Permissions and Access Control\n\n## Getting Started\n\nTo get started, clone this repository:\n\n```bash\ngit clone https://github.com/nativeapptemplate/NativeAppTemplate-Free-Android.git\n```\n\n## Requirements\n\nTo run this app successfully, ensure you have:\n\n- An Android device or emulator with API level 26 or higher.\n\n## Running with the NativeAppTemplate-API on localhost\n\nTo connect to a local API server, update the following configuration in the build.gradle.kts (Module: app):\n\n```kotlin\nbuildConfigField(\"String\", \"DOMAIN\",\"\\\"192.168.1.21\\\"\")\nbuildConfigField(\"String\", \"PORT\",\"\\\"3000\\\"\")\nbuildConfigField(\"String\", \"SCHEME\",\"\\\"http\\\"\")\n```\n\n## Blog\n\n- [Key Differences in MVVM Architecture: iOS vs. Android](https://medium.com/@dadachix/key-differences-in-mvvm-architecture-ios-vs-android-e239d30b2ea7)\n- [Cross-Platform Background NFC Tag Reading](https://medium.com/@dadachix/cross-platform-background-nfc-tag-reading-8a704f0cb6e9)\n\n## Contributing\n\nIf you have an improvement you'd like to share, create a fork of the repository and send us a pull request.\n","funding_links":[],"categories":[],"sub_categories":[],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fnativeapptemplate%2Fnativeapptemplate-free-android","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fnativeapptemplate%2Fnativeapptemplate-free-android","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fnativeapptemplate%2Fnativeapptemplate-free-android/lists"}