Development status

This repository is not documented as a released App Store or Play Store product. The iOS shell exists in code; Android is currently a placeholder.

What it is

The app is a small native frame around existing IHNYC web services. It gives each destination a tab, keeps trusted pages inside the app, and opens other links in the device browser.

flowchart LR
  PERSON["Resident taps a tab"] --> SHELL["Native iOS shell"]
  SHELL --> ROUTES["Bundled route config"]
  ROUTES --> WEB["Existing IHNYC web service"]
  WEB --> CHECK{"Trusted domain?"}
  CHECK -- Yes --> INAPP["Stay in the app"]
  CHECK -- No --> BROWSER["Open the device browser"]

This “thin shell” keeps the web services as the source of most content and behavior.

Current tabs

The shared route configuration defines:

TabInitial destination
HomeResident Council app page
ProgramsPrograms calendar
VoteVoting service
AnalyticsResident Council analytics page
I-HouseOfficial I-House resident resources

The labels and URLs come from shared/routes.json. The iOS target ships a bundled copy under ios/IHNYC/IHNYC/Config/.

What exists today

  • SwiftUI tab navigation and WKWebView browsing on iOS;
  • back, forward, and refresh controls plus loading state;
  • allowlisted in-app domains from domains.json;
  • external-browser handling for non-allowlisted destinations and new-window links;
  • ihnyc://open?url=... deep-link routing into the appropriate tab;
  • diagnostics for missing bundled configuration.

What does not exist yet

  • an Android implementation beyond its repository placeholder;
  • documented build and release procedures;
  • push notifications;
  • evidence of public store distribution.

Maintainer map

PathPurpose
shared/routes.jsonIntended source of tab labels and initial URLs
shared/domains.jsonIntended source of in-app domain rules
ios/IHNYC/IHNYC/AppConfig.swiftLoads config and routes deep links
ios/IHNYC/IHNYC/RootTabsView.swiftBuilds the tab and browser controls
ios/IHNYC/IHNYC/WebView.swiftApplies navigation and external-link policy
android/Android placeholder

Repository: dghauri0/ihnyc-app

0 items under this folder.