need4deed-org / need4deed-org/fe
app: deep linking — universal links (iOS) + app links (Android)
Open
@Justber79 is already working on this.
Since Sep 16, 2026.
enhancement
- Dominant language
- TypeScript
- Stars
- 3
- Forks
- 24
- Avg merge
- 2d 16h
- Merged PRs (30d)
- 44
Description
Context
Sub-issue of #535. Depends on #649. Enables URLs like https://app.need4deed.org/dashboard/volunteers/42 to open the native app directly at that screen — used by push notifications and external shares.
iOS — Universal Links
- Host
/.well-known/apple-app-site-associationonapp.need4deed.org:
```json
{
"applinks": {
"apps": [],
"details": [{ "appID": "TEAMID.org.need4deed.app", "paths": ["/dashboard/", "/forms/"] }]
}
}
``` - Enable Associated Domains in Xcode → Signing & Capabilities:
applinks:app.need4deed.org - Handle the incoming URL in Capacitor:
```ts
import { App } from '@capacitor/app';
App.addListener('appUrlOpen', ({ url }) => {
const path = new URL(url).pathname;
router.push(path);
});
```
Android — App Links
- Host
/.well-known/assetlinks.jsononapp.need4deed.org:
```json
[{
"relation": ["delegate_permission/common.handle_all_urls"],
"target": { "namespace": "android_app", "package_name": "org.need4deed.app", "sha256_cert_fingerprints": ["..."] }
}]
``` - Add intent filter to
android/app/src/main/AndroidManifest.xmlforhttps://app.need4deed.org - Same
appUrlOpenlistener handles Android too
Hosting the well-known files
Add both files as static assets in public/.well-known/ — Next.js serves public/ at the root automatically.
Tasks
- Create
public/.well-known/apple-app-site-association - Create
public/.well-known/assetlinks.json - Enable Associated Domains in Xcode
- Add intent filter in
AndroidManifest.xml - Install
@capacitor/appand wireappUrlOpen→router.push - Test: tap a
need4deed.orglink on device → app opens at correct screen
Depends on
#649 (Capacitor setup), #651 (push notifications — deep links used there)
Contributor guide
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
Assessment
This issue has not been assessed yet.