Skip to content

Commit 005d6e7

Browse files
author
Lalit Sharma
committed
feat: add app store metadata document and update icon assets
1 parent de6515a commit 005d6e7

4 files changed

Lines changed: 240 additions & 6 deletions

File tree

46.5 KB
Loading

apps/mobile/assets/icon.png

-8.58 KB
Loading

documents/store-metadata.md

Lines changed: 234 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,234 @@
1+
# App Store & Play Store — Metadata & Assets
2+
3+
> Reference document for App Store Connect and Google Play Console listing.
4+
> Keep in sync with actual app features.
5+
6+
---
7+
8+
## App Name
9+
10+
**Eclipse Timer**
11+
12+
---
13+
14+
## Short Description (≤80 characters)
15+
16+
```
17+
Precise eclipse contact times and countdowns for any location on Earth.
18+
```
19+
20+
(71 characters)
21+
22+
---
23+
24+
## Full Description (≤4 000 characters)
25+
26+
```
27+
Eclipse Timer computes precise contact times for solar eclipses at any location you choose — down to the second.
28+
29+
Pick an eclipse from a catalog spanning 1900 to 2100, drop a pin on the map or use your GPS, and instantly see when each phase of the eclipse begins and ends at your exact location.
30+
31+
FEATURES
32+
33+
• Browse 200+ solar eclipses from 1900 to 2100 — total, annular, partial, and hybrid — with search and filtering by year, date, type, or catalog ID.
34+
35+
• Tap the map, drag a pin, or use GPS to set your observer location. The engine computes results for your precise coordinates.
36+
37+
• View all five contact times (C1, C2, Greatest Eclipse, C3, C4) in both UTC and your local time zone. See eclipse type, magnitude, and duration of totality or annularity at your chosen spot.
38+
39+
• Live countdown timer shows days, hours, minutes, and seconds until the next eclipse event for the selected eclipse.
40+
41+
• Set notification reminders for eclipse contacts — one hour before, ten minutes before, or at the moment of each event. Choose between system sounds, vibration, or spoken voice (TTS) alerts.
42+
43+
• Interactive map overlays show the eclipse's visible path and central line so you can see where totality or annularity occurs.
44+
45+
• NASA preview animations let you visualize each eclipse before it happens.
46+
47+
• Save favorite locations for quick access across different eclipses.
48+
49+
HOW IT WORKS
50+
51+
Eclipse Timer uses the classical Besselian elements method — the same mathematical framework used by professional astronomers — to compute local eclipse circumstances. The engine evaluates polynomial shadow geometry at your observer coordinates to determine exactly when the moon's penumbral and umbral shadows reach your location.
52+
53+
All computation happens on your device. Your location is never sent to any server.
54+
55+
PRIVACY
56+
57+
Eclipse Timer requests location access only when you choose to use GPS. Your coordinates stay on your device and are used solely to compute eclipse times. The app contains no ads, no analytics, no tracking, and no user accounts. See our full privacy policy for details.
58+
59+
Whether you're planning a trip to see totality, checking if a partial eclipse will be visible from your backyard, or exploring historical eclipses — Eclipse Timer gives you the precise timing data you need.
60+
```
61+
62+
(1 753 characters)
63+
64+
---
65+
66+
## Keywords (≤100 characters, comma-separated, iOS only)
67+
68+
```
69+
eclipse,solar eclipse,totality,annular,eclipse timer,contact times,astronomy
70+
```
71+
72+
(78 characters)
73+
74+
---
75+
76+
## What's New — v1.0.0
77+
78+
```
79+
Initial release of Eclipse Timer.
80+
81+
• Browse 200+ solar eclipses from 1900 to 2100
82+
• Compute precise contact times (C1/C2/Max/C3/C4) for any location
83+
• Live countdown timer to next eclipse event
84+
• Notification reminders with sound, vibration, or voice alerts
85+
• Interactive map with eclipse path overlays
86+
• NASA preview animations
87+
• Favorite locations
88+
• Dark theme UI
89+
```
90+
91+
---
92+
93+
## Category
94+
95+
- **Primary:** Weather (iOS) / Weather (Android)
96+
- **Secondary:** Education (iOS) / Education (Android)
97+
98+
> Note: There is no "Astronomy" category on either store. Weather or Education are the closest fits. Reference or Tools are alternatives.
99+
100+
---
101+
102+
## Content Rating
103+
104+
### Apple App Store — Age Rating Questionnaire
105+
106+
Answer **No** to all of the following:
107+
- Cartoon or Fantasy Violence — No
108+
- Realistic Violence — No
109+
- Sexual Content or Nudity — No
110+
- Profanity or Crude Humor — No
111+
- Alcohol, Tobacco, or Drug Use or References — No
112+
- Simulated Gambling — No
113+
- Horror/Fear Themes — No
114+
- Medical/Treatment Information — No
115+
- Mature/Suggestive Themes — No
116+
- Unrestricted Web Access — No (the app only loads NASA GIF images, not arbitrary web content)
117+
118+
**Expected rating: 4+**
119+
120+
### Google Play — Content Rating Questionnaire (IARC)
121+
122+
Answer **No** to all content categories:
123+
- Violence — No
124+
- Sexual Content — No
125+
- Language — No
126+
- Controlled Substance — No
127+
- User Interaction — No (no user-generated content, no social features)
128+
- Shares Location — No (location is used on-device only, never shared)
129+
- Contains Ads — No
130+
- Digital Purchases — No
131+
132+
**Expected rating: Everyone / PEGI 3 / USK 0**
133+
134+
---
135+
136+
## Icon Assets — Status & Requirements
137+
138+
### Current State
139+
140+
| Asset | Path | Dimensions | Format | Status |
141+
|-------|------|-----------|--------|--------|
142+
| `icon.png` | `apps/mobile/assets/icon.png` | 1024×1024 | 32-bit ARGB | ⚠️ Has alpha channel — iOS requires **no transparency** |
143+
| `adaptive-icon.png` | `apps/mobile/assets/adaptive-icon.png` | 1024×1024 | 32-bit ARGB | ✅ Size OK for Android adaptive icon foreground |
144+
| `splash-icon.png` | `apps/mobile/assets/splash-icon.png` | 1024×1024 | 32-bit ARGB | ✅ OK |
145+
| `favicon.png` | `apps/mobile/assets/favicon.png` | 256×256 | 32-bit ARGB | ✅ OK for web |
146+
147+
### Required Actions
148+
149+
1. **iOS App Store icon (1024×1024, no alpha):**
150+
- Export `icon.png` with a solid background (no transparency). Use the app's dark background (`#0b0b0b`) to fill alpha.
151+
- The App Store will reject submissions if the icon contains an alpha channel.
152+
- Tool: `convert icon.png -background "#0b0b0b" -flatten icon-no-alpha.png` (ImageMagick) or re-export from source SVG.
153+
154+
2. **Android adaptive icon:**
155+
- Current `adaptive-icon.png` at 1024×1024 is acceptable (Expo scales it). The recommended foreground size is 432×432 within a 108dp safe zone, but Expo handles the masking.
156+
157+
3. **Feature Graphic (Android, required):**
158+
- Google Play requires a 1024×500 "feature graphic" banner image.
159+
- This is not an app icon — it's a promotional banner shown at the top of the Play Store listing.
160+
- Create a 1024×500 PNG or JPEG with the app name, logo, and a visual related to eclipses.
161+
162+
---
163+
164+
## Screenshots — Requirements
165+
166+
### Apple App Store
167+
168+
| Device Class | Required Size (pixels) | Minimum Count |
169+
|-------------|----------------------|---------------|
170+
| iPhone 6.7" (iPhone 15 Pro Max) | 1290 × 2796 | 3 |
171+
| iPhone 6.5" (iPhone 11 Pro Max) | 1242 × 2688 | 3 (or use 6.7" if only supporting newer) |
172+
| iPad 12.9" (3rd gen+) | 2048 × 2732 | 3 (only if iPad is listed as supported) |
173+
174+
### Google Play Store
175+
176+
| Device Class | Required Size | Minimum Count |
177+
|-------------|--------------|---------------|
178+
| Phone | 16:9 or 9:16, min 320px, max 3840px per side | 2 (recommended 4–8) |
179+
| 7" Tablet | Same ratio rules | 0 (recommended if tablet-optimized) |
180+
| 10" Tablet | Same ratio rules | 0 (recommended if tablet-optimized) |
181+
182+
### Recommended Screens to Capture
183+
184+
1. **Landing screen** — eclipse list with search visible, an eclipse selected, NASA preview showing
185+
2. **Timer screen — map view** — map with pin placed, eclipse overlay paths visible
186+
3. **Timer screen — results** — computed contact times card with countdown, showing all C1–C4 times
187+
4. **Notification settings** — notification toggles and scheduled event list
188+
5. **Timer screen — full view** — map + results together showing the complete experience
189+
190+
### How to Capture
191+
192+
```bash
193+
# Build a preview APK/IPA
194+
eas build --profile preview --platform all
195+
196+
# Install on physical devices or simulators at the required resolutions
197+
# Use device screenshot (Power + Volume Up on iOS, Power + Volume Down on Android)
198+
# Or use Xcode Simulator: File > Save Screen, Android Studio emulator: camera icon
199+
```
200+
201+
---
202+
203+
## Account Verification
204+
205+
### Apple Developer Account
206+
- Ensure the Expo owner `lallimaven` maps to an Apple Developer account ($99/year).
207+
- The `bundleIdentifier` (`com.lallimaven.eclipse-timer`) must be registered in the Apple Developer portal under Identifiers.
208+
- EAS Build can manage provisioning profiles and signing certificates automatically.
209+
210+
### Google Play Console
211+
- Ensure a Google Play Developer account exists ($25 one-time fee).
212+
- The `android.package` (`com.lallimaven.eclipsetimer`) will be permanently associated with this account after first upload.
213+
- EAS Build generates a signed AAB for upload.
214+
215+
---
216+
217+
## Submission Checklist
218+
219+
```
220+
Before submitting:
221+
├── [ ] icon.png re-exported without alpha channel
222+
├── [ ] Feature graphic (1024×500) created for Google Play
223+
├── [ ] Screenshots captured for all required device classes
224+
├── [ ] Short description entered in both store consoles
225+
├── [ ] Full description entered in both store consoles
226+
├── [ ] Keywords set (iOS only)
227+
├── [ ] "What's New" text entered
228+
├── [ ] Content rating questionnaires completed
229+
├── [ ] Privacy policy URL set in both listings
230+
├── [ ] Category selected
231+
├── [ ] Apple Developer account verified
232+
├── [ ] Google Play Console account verified
233+
└── [ ] App builds successfully with `eas build --profile production`
234+
```

documents/tech-debt.md

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -310,7 +310,7 @@
310310
| SP-01 | ✅ Resolved 2026-02-16: added pre-permission rationale Alert dialog before location request |
311311
| CI-04 | Add env config support |
312312
| CI-06 | Configure `expo-updates` for OTA |
313-
| CI-07 | Prepare app store metadata (screenshots, descriptions, icons) |
313+
| CI-07 | ✅ Partially resolved 2026-02-16: store descriptions, content rating answers, and icon fix completed. Screenshots and feature graphic still needed (manual). |
314314
| CI-10 | ✅ Resolved 2026-02-16: added `expo-splash-screen` with preventAutoHideAsync/hideAsync |
315315
| CI-11 | ✅ Resolved 2026-02-16: bumped to `1.0.0` with `buildNumber: "1"` and `versionCode: 1` |
316316
| D-01 | Write CONTRIBUTING.md |
@@ -376,11 +376,11 @@
376376

377377
| # | Step | Relates To | Status |
378378
|---|------|-----------|--------|
379-
| 4.1 | **Create production app icon**verify `icon.png` (1024×1024, no alpha for iOS), `adaptive-icon.png` (432×432 foreground), and `favicon.png` meet store specs. | CI-07 | ⬜ Not started |
380-
| 4.2 | **Capture screenshots**at least 3 per device class (iPhone 6.7", iPhone 6.5", iPad 12.9" for iOS; phone + 7" + 10" tablet for Android). Cover: landing list, map view, timer/results card. | CI-07 |Not started |
381-
| 4.3 | **Write store description** — short description (80 chars), full description (4 000 chars), keywords, and "what's new" for v1.0.0. | CI-07 | ⬜ Not started |
382-
| 4.4 | **Set content rating**fill out the App Store and Play Store content rating questionnaires (likely "Everyone" / "4+"). | CI-07 | ⬜ Not started |
383-
| 4.5 | **Create or verify Apple Developer & Google Play Console accounts**ensure the `owner: "lallimaven"` in app.json maps to an active Expo/EAS account linked to store accounts. ||Not started |
379+
| 4.1 | **Create production app icon**`icon.png` flattened to 24-bit RGB (no alpha) for iOS. `adaptive-icon.png` (1024×1024) and `favicon.png` (256×256) verified. Android feature graphic (1024×500) still needed. | CI-07 | ✅ Done 2026-02-16 |
380+
| 4.2 | **Capture screenshots**requirements documented in `documents/store-metadata.md` with device classes, sizes, and recommended screens. Actual capture requires `eas build --profile preview` on device/simulator. | CI-07 |Manual step |
381+
| 4.3 | **Write store description** — short description (71 chars), full description (1 753 chars), keywords (78 chars), and "what's new" for v1.0.0 written in `documents/store-metadata.md`. | CI-07 | ✅ Done 2026-02-16 |
382+
| 4.4 | **Set content rating**questionnaire answers documented in `documents/store-metadata.md`. Expected: 4+ (iOS) / Everyone (Android). Fill out in store consoles during submission. | CI-07 | ✅ Done 2026-02-16 |
383+
| 4.5 | **Create or verify Apple Developer & Google Play Console accounts**requirements documented. Verify `lallimaven` Expo account is linked to store accounts. ||Manual step |
384384

385385
### Phase 5 — CI/CD (strongly recommended before release)
386386

0 commit comments

Comments
 (0)