NURSEGO.APK · On-demand home nursing

PROJECT 08 / 11 · Mobile

NurseGo.

Uber-style Android app for home nursing care. A patient requests a service (wound care, medication, catheter care), nearby nurses get it in real time, one accepts, and both follow the visit on a map until it’s completed and rated.

  • APK v1.0.0
  • Android
  • 2026
APK v1.0.0 EXPO SDK 54 · SUPABASE · POSTGIS

01 / IMAGE_VIEWER.EXE

Evidence gallery.

Real screenshots, one per step of each flow. Use the arrows or the thumbnails, and enlarge any image to see it whole.

02 / STACK.INI

Tech stack.

What each piece does in this project. Hover over a tool, tap it or tab into the list to light it up.

  • React Native 0.81One app, two role-based experiences
  • Expo SDK 54Location, notifications, image picker and EAS builds
  • TypeScriptTyped services, hooks and service statuses
  • SupabaseAuth, Realtime channels and Storage
  • PostgreSQL + PostGISNearby search, RLS and notification triggers
  • Supabase RealtimeLive status, location and chat
  • Leaflet + OpenStreetMapMaps inside a WebView, no API key
  • NominatimAddress ↔ coordinates

03 / README.TXT

About the project.

README.TXT

Problem

Getting a nurse at home for wound care, an injection or a catheter change usually means phone calls and word of mouth: patients can’t see who is available nearby, and nurses have no simple way to receive visits and keep track of their work.

Solution

A two-sided app modeled on ride-hailing: the patient requests a service with their location, the request reaches available nurses within 5 km in real time, the first to accept gets it, and both sides see every status change live — from “on the way” to the rating.

Key features

  1. Patient and nurse in one APKPatients and nurses sign up separately; after login, the app routes each one to their own tabs. An admin area reviews nurse documents.
  2. Service requestA five-service catalog, a draggable map pin with address lookup, urgency (urgent visits cost 30% more), scheduling and cash or bank-transfer payment.
  3. Real-time matchingAvailable nurses nearby see incoming requests with 30 seconds to accept; the patient’s search times out after five minutes.
  4. Live trackingOn the way, arrived, in progress, completed: each status and the nurse’s position update on the patient’s map.
  5. Medical recordBlood type, allergies, chronic conditions, medications and an emergency contact, which the assigned nurse can review before the visit.
  6. Ratings and earningsPatients rate each visit (1–5 stars, tags and a comment); nurses see their services, their rating and their earnings for today, in total and by service type.
  7. Chat and notificationsA chat for each service, plus in-app notifications the database generates when a status changes, a rating arrives or a message is sent.
  8. Nurse verificationProfessional license number, document uploads (license, diploma and ID) and an admin review screen.
Ready UTF-8 · LF · 34 L

04 / ARCHITECTURE.SYS

How it works.

Components and data flow, taken from the source code.

ARCHITECTURE.SYS

SUPABASE

  • Auth + profilesThe role decides the routes
  • Postgres + PostGISget_nearby_nurses · get_nearby_requests
  • Realtimeservice_requests · notifications · messages
  • Storageavatars · nurse-documents

ANDROID APP · ONE APK

  • PatientRequests · tracks · rates
  • NurseGoes online · accepts · completes
  • AdminReviews nurse documents

MAPS

  • Leaflet + OSMTiles inside a WebView
  • NominatimGeocoding and reverse geocoding
Architecture diagram — One APK with three roles on top of Supabase (data, real time and files) and open maps.

Data flow, step by step

  1. The patient creates a request with the service, location and urgency; it’s inserted with status searching.
  2. Nurses who are online listen for new requests on a Realtime channel and see the ones within their radius, found with PostGIS.
  3. Accepting is a single conditional update — only if the request is still searching — so two nurses can never take the same visit.
  4. The patient’s screen subscribes to that request and to the nurse’s location, so the status and the map update live.
  5. To finish, the nurse adds clinical notes and the final price; database triggers turn status changes, ratings and messages into notifications.

Engineering notes

  • Race-condition-safe matchingThe accept call filters on status = 'searching' inside the update itself, instead of checking first and writing later.
  • Geo queries in the databasePostGIS functions return nearby nurses and requests with their distance; if the RPC isn’t available, the app falls back to filtering on the client.
  • Maps without vendor lock-inLeaflet and OpenStreetMap tiles run inside a WebView, with Nominatim for addresses — no Google Maps API key required.
  • Notifications from the databasePostgres triggers write a notification row on every status change, new rating or chat message; the apps receive them through Realtime.

05 / PROPERTIES.CPL

Project properties.

06 / LINKS.LNK