SkateSpots/ZAPSTORE.md
shakespeare.diy 27e14994b5 Import files from skate-spots project
Co-authored-by: shakespeare.diy <assistant@shakespeare.diy>
2026-06-15 20:04:15 +07:00

187 lines
5.2 KiB
Markdown

# Publishing SkateSpots to Zapstore
Zapstore is a permissionless, Nostr-based app store for Android. However, **SkateSpots is a web app (PWA)**, not a native Android APK, so direct Zapstore publishing isn't applicable in the traditional sense.
## 🤔 Current Situation
**SkateSpots is:**
- ✅ A Progressive Web App (PWA)
- ✅ Installable on Android, iOS, and Desktop
- ✅ Built with React/Vite (web technologies)
- ❌ NOT a native Android APK
**Zapstore is designed for:**
- ✅ Native Android APK files (.apk)
- ✅ Apps compiled for Android (Java/Kotlin)
- ❌ NOT for web apps or PWAs
## 🚀 Options to Get SkateSpots on Zapstore
### Option 1: Create a Native Android Wrapper (Recommended for Zapstore)
Convert the PWA to a native Android app using one of these tools:
**A. Capacitor** (Recommended)
```bash
npm install @capacitor/core @capacitor/cli
npx cap init
npx cap add android
npm run build
npx cap copy
npx cap open android
```
Then build APK in Android Studio and publish to Zapstore.
**B. PWA Builder**
- Visit https://www.pwabuilder.com/
- Enter your deployed URL: https://skate-spots.com
- Generate Android APK
- Sign and publish to Zapstore
**C. Trusted Web Activity (TWA)**
- Create a minimal Android app that wraps your PWA
- Requires Android development setup
- More control but more complex
### Option 2: Promote PWA Installation (Current Best Option)
Since SkateSpots is already a PWA, you can:
**On Android:**
1. Open https://skate-spots.com in Chrome
2. Tap menu → "Add to Home Screen"
3. App installs like a native app
4. Works offline, has app icon, full-screen experience
**Advantages:**
- ✅ Works NOW without any changes
- ✅ No app store approval needed
- ✅ Cross-platform (Android, iOS, Desktop)
- ✅ Instant updates (no app store review)
- ✅ Users already have it available
**Promote this in your marketing:**
- "Install SkateSpots PWA from your browser"
- Add installation instructions to homepage
- QR code linking to https://skate-spots.com
### Option 3: Publish as Nostr Event (Alternative Distribution)
Even without an APK, you could publish app metadata to Nostr:
**Use Zapstore NIPs for visibility:**
- Kind 32267: App metadata
- Include your PWA URL
- Tag as "web app" or "PWA"
- Zapstore users might discover it even if they can't install via Zapstore
This wouldn't enable Zapstore installation but would list your app in the Nostr ecosystem.
## 📝 If You Want to Proceed with Native Android (Zapstore-ready)
### Step 1: Install Zapstore CLI
```bash
npm install -g zapstore-cli
```
### Step 2: Create `zapstore.yaml` in project root
```yaml
# Repository (optional - for open source apps)
repository: nostr://npub1yrnuj56rnen08zp2h9h7p74ghgjx6ma39spmpj6w9hzxywutevsst7k5cx/git.shakespeare.diy/skate-spots
# Name of the app
name: SkateSpots
# App identifier (reverse domain notation)
identifier: com.skatespots.app
# Description
summary: Decentralized skate spot discovery on Nostr
# Icon (path to icon file)
icon: public/images/icon-512.png
# Screenshots
images:
- public/images/screenshot-1.png
- public/images/screenshot-2.png
# APK files to publish (regex pattern)
assets:
- output/.*.apk
# Categories/tags
tags:
- skateboarding
- nostr
- social
- sports
- maps
# Remote metadata sources
remote_metadata:
- github
```
### Step 3: Build Android APK
Using Capacitor, PWA Builder, or manual Android development.
### Step 4: Publish to Zapstore
```bash
zapstore publish
```
You'll be prompted to sign with:
- Your nsec (secret key)
- Browser extension (NIP-07)
- Nostr Connect bunker
### Step 5: Published!
- App goes live immediately (no approval process)
- Listed on relay.zapstore.dev
- Discoverable via Nostr social graph
- Users can zap you directly
## 🎯 My Recommendation
**For NOW:**
1. ✅ Keep promoting PWA installation (works great!)
2. ✅ Add PWA install instructions to homepage
3. ✅ Create installation guide in docs/FAQ
**For FUTURE (if you want native Android):**
1. Use **Capacitor** to wrap SkateSpots as native Android app
2. Build signed APK
3. Create `zapstore.yaml` config
4. Publish to Zapstore with `zapstore publish`
## 🔗 Useful Links
- **Zapstore Website**: https://zapstore.dev
- **Zapstore Docs**: https://zapstore.dev/docs
- **Zapstore CLI**: https://zapstore.dev/docs/publish
- **GitHub**: https://github.com/zapstore/zapstore
- **Download Zapstore App**: https://zapstore.dev (for Android users)
## ❓ Questions?
**Q: Can I publish a PWA to Zapstore?**
A: Not directly. Zapstore expects .apk files. You'd need to wrap your PWA as a native Android app first.
**Q: Do I need to pay to publish?**
A: No! Publishing is free and permissionless. Anyone with a Nostr pubkey can publish.
**Q: Will users pay for the app?**
A: Apps can be free or paid. Users can zap (tip) developers directly via Lightning.
**Q: How do updates work?**
A: Run `zapstore publish` again with new APK. Users get notified of updates.
**Q: Can iOS users use Zapstore?**
A: No, Zapstore is Android-only. iOS users can install your PWA via Safari's "Add to Home Screen".
---
**Bottom line:** SkateSpots is currently a PWA, which is already installable on Android (and iOS/Desktop). To publish to Zapstore, you'd need to create a native Android APK wrapper first. The PWA approach is working great for now! 🛹⚡