diff --git a/app.json b/app.json index 76f6552..832bbed 100644 --- a/app.json +++ b/app.json @@ -9,7 +9,11 @@ "userInterfaceStyle": "automatic", "newArchEnabled": true, "ios": { - "supportsTablet": true + "supportsTablet": true, + "bundleIdentifier": "com.wellnuo.app", + "infoPlist": { + "ITSAppUsesNonExemptEncryption": false + } }, "android": { "adaptiveIcon": { @@ -43,6 +47,13 @@ "experiments": { "typedRoutes": true, "reactCompiler": true - } + }, + "extra": { + "router": {}, + "eas": { + "projectId": "4a77e46d-7b0e-4ace-a385-006b07027234" + } + }, + "owner": "kosyakorel1" } } diff --git a/app/(tabs)/_layout.tsx b/app/(tabs)/_layout.tsx index 71dd5c0..84b0b88 100644 --- a/app/(tabs)/_layout.tsx +++ b/app/(tabs)/_layout.tsx @@ -1,6 +1,6 @@ import { Tabs } from 'expo-router'; import React from 'react'; -import { Ionicons } from '@expo/vector-icons'; +import { Feather } from '@expo/vector-icons'; import { HapticTab } from '@/components/haptic-tab'; import { AppColors } from '@/constants/theme'; @@ -18,6 +18,13 @@ export default function TabLayout() { tabBarStyle: { backgroundColor: isDark ? '#151718' : AppColors.background, borderTopColor: isDark ? '#2D3135' : AppColors.border, + height: 85, + paddingBottom: 25, + paddingTop: 10, + }, + tabBarLabelStyle: { + fontSize: 11, + fontWeight: '500', }, headerShown: false, tabBarButton: HapticTab, @@ -26,13 +33,13 @@ export default function TabLayout() { ( - + ), }} /> - {/* Hide dashboard - now accessed via beneficiary selection */} + {/* Hide old dashboard - now index shows WebView dashboard */} ( - + ), }} /> @@ -53,7 +60,7 @@ export default function TabLayout() { options={{ title: 'Profile', tabBarIcon: ({ color, size }) => ( - + ), }} /> @@ -64,6 +71,13 @@ export default function TabLayout() { href: null, }} /> + {/* Beneficiaries - hidden from tab bar but keeps tab bar visible */} + ); } diff --git a/app/beneficiaries/[id]/dashboard.tsx b/app/(tabs)/beneficiaries/[id]/dashboard.tsx similarity index 71% rename from app/beneficiaries/[id]/dashboard.tsx rename to app/(tabs)/beneficiaries/[id]/dashboard.tsx index 03ccf53..22facf7 100644 --- a/app/beneficiaries/[id]/dashboard.tsx +++ b/app/(tabs)/beneficiaries/[id]/dashboard.tsx @@ -4,10 +4,13 @@ import { WebView } from 'react-native-webview'; import { Ionicons } from '@expo/vector-icons'; import { SafeAreaView } from 'react-native-safe-area-context'; import { useLocalSearchParams, router } from 'expo-router'; +import * as SecureStore from 'expo-secure-store'; import { useBeneficiary } from '@/contexts/BeneficiaryContext'; import { AppColors, BorderRadius, FontSizes, Spacing } from '@/constants/theme'; import { FullScreenError } from '@/components/ui/ErrorMessage'; +// Start with login page, then redirect to dashboard after auth +const LOGIN_URL = 'https://react.eluxnetworks.net/login'; const DASHBOARD_URL = 'https://react.eluxnetworks.net/dashboard'; export default function BeneficiaryDashboardScreen() { @@ -17,9 +20,56 @@ export default function BeneficiaryDashboardScreen() { const [isLoading, setIsLoading] = useState(true); const [error, setError] = useState(null); const [canGoBack, setCanGoBack] = useState(false); + const [authToken, setAuthToken] = useState(null); + const [userName, setUserName] = useState(null); + const [userId, setUserId] = useState(null); + const [isTokenLoaded, setIsTokenLoaded] = useState(false); + const [webViewUrl, setWebViewUrl] = useState(DASHBOARD_URL); const beneficiaryName = currentBeneficiary?.name || 'Dashboard'; + // Load token, username, and userId from SecureStore + useEffect(() => { + const loadCredentials = async () => { + try { + const token = await SecureStore.getItemAsync('accessToken'); + const user = await SecureStore.getItemAsync('userName'); + const uid = await SecureStore.getItemAsync('userId'); + setAuthToken(token); + setUserName(user); + setUserId(uid); + console.log('Loaded credentials for WebView:', { hasToken: !!token, user, uid }); + } catch (err) { + console.error('Failed to load credentials:', err); + } finally { + setIsTokenLoaded(true); + } + }; + loadCredentials(); + }, []); + + // JavaScript to inject token into localStorage before page loads + // Web app uses auth2 key with JSON object: {username, token, user_id} + const injectedJavaScript = authToken + ? ` + (function() { + try { + // Web app expects auth2 as JSON object with these exact fields + var authData = { + username: '${userName || ''}', + token: '${authToken}', + user_id: ${userId || 'null'} + }; + localStorage.setItem('auth2', JSON.stringify(authData)); + console.log('Auth data injected:', authData.username, 'user_id:', authData.user_id); + } catch(e) { + console.error('Failed to inject token:', e); + } + })(); + true; + ` + : ''; + const handleRefresh = () => { setError(null); setIsLoading(true); @@ -45,6 +95,25 @@ export default function BeneficiaryDashboardScreen() { router.back(); }; + // Wait for token to load before showing WebView + if (!isTokenLoaded) { + return ( + + + + + + {beneficiaryName} + + + + + Preparing dashboard... + + + ); + } + if (error) { return ( @@ -100,7 +169,7 @@ export default function BeneficiaryDashboardScreen() { setIsLoading(true)} onLoadEnd={() => setIsLoading(false)} @@ -112,6 +181,10 @@ export default function BeneficiaryDashboardScreen() { startInLoadingState={true} scalesPageToFit={true} allowsBackForwardNavigationGestures={true} + // Inject token into localStorage BEFORE content loads + injectedJavaScriptBeforeContentLoaded={injectedJavaScript} + // Also inject after load in case page reads localStorage late + injectedJavaScript={injectedJavaScript} renderLoading={() => ( @@ -144,7 +217,7 @@ export default function BeneficiaryDashboardScreen() { router.push(`/beneficiaries/${id}`)} + onPress={() => router.push(`./`)} > Details diff --git a/app/beneficiaries/[id]/index.tsx b/app/(tabs)/beneficiaries/[id]/index.tsx similarity index 100% rename from app/beneficiaries/[id]/index.tsx rename to app/(tabs)/beneficiaries/[id]/index.tsx diff --git a/app/beneficiaries/_layout.tsx b/app/(tabs)/beneficiaries/_layout.tsx similarity index 100% rename from app/beneficiaries/_layout.tsx rename to app/(tabs)/beneficiaries/_layout.tsx diff --git a/app/(tabs)/index.tsx b/app/(tabs)/index.tsx index 1eb609e..e1fe67d 100644 --- a/app/(tabs)/index.tsx +++ b/app/(tabs)/index.tsx @@ -1,143 +1,127 @@ -import React, { useState, useEffect, useCallback } from 'react'; -import { - View, - Text, - StyleSheet, - FlatList, - TouchableOpacity, - RefreshControl, -} from 'react-native'; -import { router } from 'expo-router'; +import React, { useState, useRef, useEffect } from 'react'; +import { View, Text, StyleSheet, ActivityIndicator, TouchableOpacity } from 'react-native'; +import { WebView } from 'react-native-webview'; import { Ionicons } from '@expo/vector-icons'; import { SafeAreaView } from 'react-native-safe-area-context'; -import { api } from '@/services/api'; +import * as SecureStore from 'expo-secure-store'; import { useAuth } from '@/contexts/AuthContext'; -import { useBeneficiary } from '@/contexts/BeneficiaryContext'; -import { LoadingSpinner } from '@/components/ui/LoadingSpinner'; -import { FullScreenError } from '@/components/ui/ErrorMessage'; -import { AppColors, BorderRadius, FontSizes, Spacing } from '@/constants/theme'; -import type { Beneficiary } from '@/types'; +import { AppColors, FontSizes, Spacing } from '@/constants/theme'; -export default function BeneficiariesListScreen() { +const DASHBOARD_URL = 'https://react.eluxnetworks.net/dashboard'; + +export default function HomeScreen() { const { user } = useAuth(); - const { setCurrentBeneficiary } = useBeneficiary(); - const [beneficiaries, setBeneficiaries] = useState([]); + const webViewRef = useRef(null); const [isLoading, setIsLoading] = useState(true); - const [isRefreshing, setIsRefreshing] = useState(false); const [error, setError] = useState(null); + const [canGoBack, setCanGoBack] = useState(false); + const [authToken, setAuthToken] = useState(null); + const [userName, setUserName] = useState(null); + const [userId, setUserId] = useState(null); + const [isTokenLoaded, setIsTokenLoaded] = useState(false); - const loadBeneficiaries = useCallback(async (showLoading = true) => { - if (showLoading) setIsLoading(true); - setError(null); - - try { - const response = await api.getBeneficiaries(); - - if (response.ok && response.data) { - setBeneficiaries(response.data.beneficiaries); - } else { - setError(response.error?.message || 'Failed to load beneficiaries'); + // Load credentials from SecureStore + useEffect(() => { + const loadCredentials = async () => { + try { + const token = await SecureStore.getItemAsync('accessToken'); + const user = await SecureStore.getItemAsync('userName'); + const uid = await SecureStore.getItemAsync('userId'); + setAuthToken(token); + setUserName(user); + setUserId(uid); + console.log('Home: Loaded credentials for WebView:', { hasToken: !!token, user, uid }); + } catch (err) { + console.error('Failed to load credentials:', err); + } finally { + setIsTokenLoaded(true); } - } catch (err) { - setError(err instanceof Error ? err.message : 'An error occurred'); - } finally { - setIsLoading(false); - setIsRefreshing(false); - } + }; + loadCredentials(); }, []); - useEffect(() => { - loadBeneficiaries(); - }, [loadBeneficiaries]); + // JavaScript to inject auth token into localStorage + // Web app expects auth2 as JSON: {username, token, user_id} + const injectedJavaScript = authToken + ? ` + (function() { + try { + var authData = { + username: '${userName || ''}', + token: '${authToken}', + user_id: ${userId || 'null'} + }; + localStorage.setItem('auth2', JSON.stringify(authData)); + console.log('Auth injected:', authData.username); + } catch(e) { + console.error('Failed to inject token:', e); + } + })(); + true; + ` + : ''; - const handleRefresh = useCallback(() => { - setIsRefreshing(true); - loadBeneficiaries(false); - }, [loadBeneficiaries]); - - const handleBeneficiaryPress = (beneficiary: Beneficiary) => { - // Set current beneficiary in context before navigating - setCurrentBeneficiary(beneficiary); - // Navigate directly to their dashboard - router.push(`/beneficiaries/${beneficiary.id}/dashboard`); + const handleRefresh = () => { + setError(null); + setIsLoading(true); + webViewRef.current?.reload(); }; - const renderBeneficiaryCard = ({ item }: { item: Beneficiary }) => ( - handleBeneficiaryPress(item)} - activeOpacity={0.7} - > - - - - {item.name.charAt(0).toUpperCase()} - - - + const handleWebViewBack = () => { + if (canGoBack) { + webViewRef.current?.goBack(); + } + }; - - {item.name} - {item.relationship} - - {' '} - {item.last_activity} - - - + const handleNavigationStateChange = (navState: any) => { + setCanGoBack(navState.canGoBack); + }; - {item.sensor_data && ( - - - - - {item.sensor_data.motion_detected ? 'Active' : 'Inactive'} - - Motion - - - - - {item.sensor_data.door_status === 'open' ? 'Open' : 'Closed'} - - Door - - - - {item.sensor_data.temperature}° - Temp + const handleError = () => { + setError('Failed to load dashboard. Please check your internet connection.'); + setIsLoading(false); + }; + + // Wait for token to load + if (!isTokenLoaded) { + return ( + + + + Hello, {user?.user_name || 'User'} + Dashboard - )} - - - - ); - - if (isLoading) { - return ; + + + Preparing dashboard... + + + ); } if (error) { - return loadBeneficiaries()} />; + return ( + + + + Hello, {user?.user_name || 'User'} + Dashboard + + + + + + + + Connection Error + {error} + + Try Again + + + + ); } return ( @@ -145,40 +129,53 @@ export default function BeneficiariesListScreen() { {/* Header */} - - Hello, {user?.user_name || 'User'} - - Beneficiaries + Hello, {user?.user_name || 'User'} + Dashboard + + + {canGoBack && ( + + + + )} + + + - - - - {/* Beneficiary List */} - item.id.toString()} - renderItem={renderBeneficiaryCard} - contentContainerStyle={styles.listContent} - showsVerticalScrollIndicator={false} - refreshControl={ - - } - ListEmptyComponent={ - - - No beneficiaries yet - - Add your first beneficiary to start monitoring - + {/* WebView Dashboard */} + + setIsLoading(true)} + onLoadEnd={() => setIsLoading(false)} + onError={handleError} + onHttpError={handleError} + onNavigationStateChange={handleNavigationStateChange} + javaScriptEnabled={true} + domStorageEnabled={true} + startInLoadingState={true} + scalesPageToFit={true} + allowsBackForwardNavigationGestures={true} + injectedJavaScriptBeforeContentLoaded={injectedJavaScript} + injectedJavaScript={injectedJavaScript} + renderLoading={() => ( + + + Loading dashboard... + + )} + /> + + {isLoading && ( + + - } - /> + )} + ); } @@ -186,7 +183,7 @@ export default function BeneficiariesListScreen() { const styles = StyleSheet.create({ container: { flex: 1, - backgroundColor: AppColors.surface, + backgroundColor: AppColors.background, }, header: { flexDirection: 'row', @@ -207,122 +204,76 @@ const styles = StyleSheet.create({ fontWeight: '700', color: AppColors.textPrimary, }, - addButton: { - width: 44, - height: 44, - borderRadius: BorderRadius.full, - backgroundColor: AppColors.primary, - justifyContent: 'center', + headerActions: { + flexDirection: 'row', alignItems: 'center', }, - listContent: { - padding: Spacing.md, + actionButton: { + padding: Spacing.xs, + marginLeft: Spacing.xs, }, - beneficiaryCard: { + refreshButton: { + padding: Spacing.xs, + }, + webViewContainer: { + flex: 1, + }, + webView: { + flex: 1, + }, + loadingContainer: { + position: 'absolute', + top: 0, + left: 0, + right: 0, + bottom: 0, + justifyContent: 'center', + alignItems: 'center', backgroundColor: AppColors.background, - borderRadius: BorderRadius.lg, - padding: Spacing.md, - marginBottom: Spacing.md, - shadowColor: '#000', - shadowOffset: { width: 0, height: 2 }, - shadowOpacity: 0.05, - shadowRadius: 4, - elevation: 2, }, - beneficiaryInfo: { - flexDirection: 'row', - alignItems: 'center', - marginBottom: Spacing.md, - }, - avatarContainer: { - width: 56, - height: 56, - borderRadius: BorderRadius.full, - backgroundColor: AppColors.primaryLight, + loadingOverlay: { + position: 'absolute', + top: 0, + left: 0, + right: 0, + bottom: 0, justifyContent: 'center', alignItems: 'center', - marginRight: Spacing.md, + backgroundColor: 'rgba(255,255,255,0.8)', }, - avatarText: { - fontSize: FontSizes.xl, - fontWeight: '600', - color: AppColors.white, - }, - statusIndicator: { - position: 'absolute', - bottom: 2, - right: 2, - width: 14, - height: 14, - borderRadius: BorderRadius.full, - borderWidth: 2, - borderColor: AppColors.background, - }, - online: { - backgroundColor: AppColors.online, - }, - offline: { - backgroundColor: AppColors.offline, - }, - beneficiaryDetails: { - flex: 1, - }, - beneficiaryName: { - fontSize: FontSizes.lg, - fontWeight: '600', - color: AppColors.textPrimary, - }, - beneficiaryRelationship: { - fontSize: FontSizes.sm, - color: AppColors.textSecondary, - marginTop: 2, - }, - lastActivity: { - fontSize: FontSizes.xs, - color: AppColors.textMuted, - marginTop: 4, - }, - sensorStats: { - flexDirection: 'row', - justifyContent: 'space-around', - paddingTop: Spacing.md, - borderTopWidth: 1, - borderTopColor: AppColors.border, - }, - statItem: { - alignItems: 'center', - }, - statValue: { + loadingText: { + marginTop: Spacing.md, fontSize: FontSizes.base, - fontWeight: '600', - color: AppColors.textPrimary, - marginTop: Spacing.xs, + color: AppColors.textSecondary, }, - statLabel: { - fontSize: FontSizes.xs, - color: AppColors.textMuted, - }, - chevron: { - position: 'absolute', - top: Spacing.md, - right: Spacing.md, - }, - emptyContainer: { + errorContainer: { flex: 1, justifyContent: 'center', alignItems: 'center', - paddingTop: Spacing.xxl * 2, + padding: Spacing.xl, }, - emptyTitle: { + errorTitle: { fontSize: FontSizes.lg, fontWeight: '600', color: AppColors.textPrimary, marginTop: Spacing.md, }, - emptyText: { + errorText: { fontSize: FontSizes.base, color: AppColors.textSecondary, textAlign: 'center', marginTop: Spacing.xs, }, + retryButton: { + marginTop: Spacing.lg, + paddingHorizontal: Spacing.xl, + paddingVertical: Spacing.md, + backgroundColor: AppColors.primary, + borderRadius: 8, + }, + retryButtonText: { + color: AppColors.white, + fontSize: FontSizes.base, + fontWeight: '600', + }, }); diff --git a/app/_layout.tsx b/app/_layout.tsx index 6eab4c0..e7ce559 100644 --- a/app/_layout.tsx +++ b/app/_layout.tsx @@ -44,7 +44,6 @@ function RootLayoutNav() { - diff --git a/assets/images/android-icon-background.png b/assets/images/android-icon-background.png index 5ffefc5..48aaf7e 100644 Binary files a/assets/images/android-icon-background.png and b/assets/images/android-icon-background.png differ diff --git a/assets/images/android-icon-foreground.png b/assets/images/android-icon-foreground.png index 3a9e501..f07797d 100644 Binary files a/assets/images/android-icon-foreground.png and b/assets/images/android-icon-foreground.png differ diff --git a/assets/images/android-icon-monochrome.png b/assets/images/android-icon-monochrome.png index 77484eb..e2e89c2 100644 Binary files a/assets/images/android-icon-monochrome.png and b/assets/images/android-icon-monochrome.png differ diff --git a/assets/images/favicon.png b/assets/images/favicon.png index 408bd74..c09b7fd 100644 Binary files a/assets/images/favicon.png and b/assets/images/favicon.png differ diff --git a/assets/images/icon.png b/assets/images/icon.png index 7165a53..0db9930 100644 Binary files a/assets/images/icon.png and b/assets/images/icon.png differ diff --git a/assets/images/splash-icon.png b/assets/images/splash-icon.png index 03d6f6b..db0b808 100644 Binary files a/assets/images/splash-icon.png and b/assets/images/splash-icon.png differ diff --git a/eas.json b/eas.json new file mode 100644 index 0000000..40a8970 --- /dev/null +++ b/eas.json @@ -0,0 +1,26 @@ +{ + "cli": { + "version": ">= 5.0.0", + "appVersionSource": "remote" + }, + "build": { + "development": { + "developmentClient": true, + "distribution": "internal" + }, + "preview": { + "distribution": "internal" + }, + "production": { + "autoIncrement": true + } + }, + "submit": { + "production": { + "ios": { + "appleId": "serter2069@gmail.com", + "ascAppId": "WILL_BE_SET_AFTER_FIRST_BUILD" + } + } + } +} diff --git a/package-lock.json b/package-lock.json index f6196ca..a1ce803 100644 --- a/package-lock.json +++ b/package-lock.json @@ -41,6 +41,7 @@ "eslint": "^9.25.0", "eslint-config-expo": "~10.0.0", "playwright": "^1.57.0", + "sharp": "^0.34.5", "typescript": "~5.9.2" } }, @@ -2275,6 +2276,496 @@ "url": "https://github.com/sponsors/nzakas" } }, + "node_modules/@img/colour": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/@img/colour/-/colour-1.0.0.tgz", + "integrity": "sha512-A5P/LfWGFSl6nsckYtjw9da+19jB8hkJ6ACTGcDfEJ0aE+l2n2El7dsVM7UVHZQ9s2lmYMWlrS21YLy2IR1LUw==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=18" + } + }, + "node_modules/@img/sharp-darwin-arm64": { + "version": "0.34.5", + "resolved": "https://registry.npmjs.org/@img/sharp-darwin-arm64/-/sharp-darwin-arm64-0.34.5.tgz", + "integrity": "sha512-imtQ3WMJXbMY4fxb/Ndp6HBTNVtWCUI0WdobyheGf5+ad6xX8VIDO8u2xE4qc/fr08CKG/7dDseFtn6M6g/r3w==", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "Apache-2.0", + "optional": true, + "os": [ + "darwin" + ], + "engines": { + "node": "^18.17.0 || ^20.3.0 || >=21.0.0" + }, + "funding": { + "url": "https://opencollective.com/libvips" + }, + "optionalDependencies": { + "@img/sharp-libvips-darwin-arm64": "1.2.4" + } + }, + "node_modules/@img/sharp-darwin-x64": { + "version": "0.34.5", + "resolved": "https://registry.npmjs.org/@img/sharp-darwin-x64/-/sharp-darwin-x64-0.34.5.tgz", + "integrity": "sha512-YNEFAF/4KQ/PeW0N+r+aVVsoIY0/qxxikF2SWdp+NRkmMB7y9LBZAVqQ4yhGCm/H3H270OSykqmQMKLBhBJDEw==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "Apache-2.0", + "optional": true, + "os": [ + "darwin" + ], + "engines": { + "node": "^18.17.0 || ^20.3.0 || >=21.0.0" + }, + "funding": { + "url": "https://opencollective.com/libvips" + }, + "optionalDependencies": { + "@img/sharp-libvips-darwin-x64": "1.2.4" + } + }, + "node_modules/@img/sharp-libvips-darwin-arm64": { + "version": "1.2.4", + "resolved": "https://registry.npmjs.org/@img/sharp-libvips-darwin-arm64/-/sharp-libvips-darwin-arm64-1.2.4.tgz", + "integrity": "sha512-zqjjo7RatFfFoP0MkQ51jfuFZBnVE2pRiaydKJ1G/rHZvnsrHAOcQALIi9sA5co5xenQdTugCvtb1cuf78Vf4g==", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "LGPL-3.0-or-later", + "optional": true, + "os": [ + "darwin" + ], + "funding": { + "url": "https://opencollective.com/libvips" + } + }, + "node_modules/@img/sharp-libvips-darwin-x64": { + "version": "1.2.4", + "resolved": "https://registry.npmjs.org/@img/sharp-libvips-darwin-x64/-/sharp-libvips-darwin-x64-1.2.4.tgz", + "integrity": "sha512-1IOd5xfVhlGwX+zXv2N93k0yMONvUlANylbJw1eTah8K/Jtpi15KC+WSiaX/nBmbm2HxRM1gZ0nSdjSsrZbGKg==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "LGPL-3.0-or-later", + "optional": true, + "os": [ + "darwin" + ], + "funding": { + "url": "https://opencollective.com/libvips" + } + }, + "node_modules/@img/sharp-libvips-linux-arm": { + "version": "1.2.4", + "resolved": "https://registry.npmjs.org/@img/sharp-libvips-linux-arm/-/sharp-libvips-linux-arm-1.2.4.tgz", + "integrity": "sha512-bFI7xcKFELdiNCVov8e44Ia4u2byA+l3XtsAj+Q8tfCwO6BQ8iDojYdvoPMqsKDkuoOo+X6HZA0s0q11ANMQ8A==", + "cpu": [ + "arm" + ], + "dev": true, + "license": "LGPL-3.0-or-later", + "optional": true, + "os": [ + "linux" + ], + "funding": { + "url": "https://opencollective.com/libvips" + } + }, + "node_modules/@img/sharp-libvips-linux-arm64": { + "version": "1.2.4", + "resolved": "https://registry.npmjs.org/@img/sharp-libvips-linux-arm64/-/sharp-libvips-linux-arm64-1.2.4.tgz", + "integrity": "sha512-excjX8DfsIcJ10x1Kzr4RcWe1edC9PquDRRPx3YVCvQv+U5p7Yin2s32ftzikXojb1PIFc/9Mt28/y+iRklkrw==", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "LGPL-3.0-or-later", + "optional": true, + "os": [ + "linux" + ], + "funding": { + "url": "https://opencollective.com/libvips" + } + }, + "node_modules/@img/sharp-libvips-linux-ppc64": { + "version": "1.2.4", + "resolved": "https://registry.npmjs.org/@img/sharp-libvips-linux-ppc64/-/sharp-libvips-linux-ppc64-1.2.4.tgz", + "integrity": "sha512-FMuvGijLDYG6lW+b/UvyilUWu5Ayu+3r2d1S8notiGCIyYU/76eig1UfMmkZ7vwgOrzKzlQbFSuQfgm7GYUPpA==", + "cpu": [ + "ppc64" + ], + "dev": true, + "license": "LGPL-3.0-or-later", + "optional": true, + "os": [ + "linux" + ], + "funding": { + "url": "https://opencollective.com/libvips" + } + }, + "node_modules/@img/sharp-libvips-linux-riscv64": { + "version": "1.2.4", + "resolved": "https://registry.npmjs.org/@img/sharp-libvips-linux-riscv64/-/sharp-libvips-linux-riscv64-1.2.4.tgz", + "integrity": "sha512-oVDbcR4zUC0ce82teubSm+x6ETixtKZBh/qbREIOcI3cULzDyb18Sr/Wcyx7NRQeQzOiHTNbZFF1UwPS2scyGA==", + "cpu": [ + "riscv64" + ], + "dev": true, + "license": "LGPL-3.0-or-later", + "optional": true, + "os": [ + "linux" + ], + "funding": { + "url": "https://opencollective.com/libvips" + } + }, + "node_modules/@img/sharp-libvips-linux-s390x": { + "version": "1.2.4", + "resolved": "https://registry.npmjs.org/@img/sharp-libvips-linux-s390x/-/sharp-libvips-linux-s390x-1.2.4.tgz", + "integrity": "sha512-qmp9VrzgPgMoGZyPvrQHqk02uyjA0/QrTO26Tqk6l4ZV0MPWIW6LTkqOIov+J1yEu7MbFQaDpwdwJKhbJvuRxQ==", + "cpu": [ + "s390x" + ], + "dev": true, + "license": "LGPL-3.0-or-later", + "optional": true, + "os": [ + "linux" + ], + "funding": { + "url": "https://opencollective.com/libvips" + } + }, + "node_modules/@img/sharp-libvips-linux-x64": { + "version": "1.2.4", + "resolved": "https://registry.npmjs.org/@img/sharp-libvips-linux-x64/-/sharp-libvips-linux-x64-1.2.4.tgz", + "integrity": "sha512-tJxiiLsmHc9Ax1bz3oaOYBURTXGIRDODBqhveVHonrHJ9/+k89qbLl0bcJns+e4t4rvaNBxaEZsFtSfAdquPrw==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "LGPL-3.0-or-later", + "optional": true, + "os": [ + "linux" + ], + "funding": { + "url": "https://opencollective.com/libvips" + } + }, + "node_modules/@img/sharp-libvips-linuxmusl-arm64": { + "version": "1.2.4", + "resolved": "https://registry.npmjs.org/@img/sharp-libvips-linuxmusl-arm64/-/sharp-libvips-linuxmusl-arm64-1.2.4.tgz", + "integrity": "sha512-FVQHuwx1IIuNow9QAbYUzJ+En8KcVm9Lk5+uGUQJHaZmMECZmOlix9HnH7n1TRkXMS0pGxIJokIVB9SuqZGGXw==", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "LGPL-3.0-or-later", + "optional": true, + "os": [ + "linux" + ], + "funding": { + "url": "https://opencollective.com/libvips" + } + }, + "node_modules/@img/sharp-libvips-linuxmusl-x64": { + "version": "1.2.4", + "resolved": "https://registry.npmjs.org/@img/sharp-libvips-linuxmusl-x64/-/sharp-libvips-linuxmusl-x64-1.2.4.tgz", + "integrity": "sha512-+LpyBk7L44ZIXwz/VYfglaX/okxezESc6UxDSoyo2Ks6Jxc4Y7sGjpgU9s4PMgqgjj1gZCylTieNamqA1MF7Dg==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "LGPL-3.0-or-later", + "optional": true, + "os": [ + "linux" + ], + "funding": { + "url": "https://opencollective.com/libvips" + } + }, + "node_modules/@img/sharp-linux-arm": { + "version": "0.34.5", + "resolved": "https://registry.npmjs.org/@img/sharp-linux-arm/-/sharp-linux-arm-0.34.5.tgz", + "integrity": "sha512-9dLqsvwtg1uuXBGZKsxem9595+ujv0sJ6Vi8wcTANSFpwV/GONat5eCkzQo/1O6zRIkh0m/8+5BjrRr7jDUSZw==", + "cpu": [ + "arm" + ], + "dev": true, + "license": "Apache-2.0", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": "^18.17.0 || ^20.3.0 || >=21.0.0" + }, + "funding": { + "url": "https://opencollective.com/libvips" + }, + "optionalDependencies": { + "@img/sharp-libvips-linux-arm": "1.2.4" + } + }, + "node_modules/@img/sharp-linux-arm64": { + "version": "0.34.5", + "resolved": "https://registry.npmjs.org/@img/sharp-linux-arm64/-/sharp-linux-arm64-0.34.5.tgz", + "integrity": "sha512-bKQzaJRY/bkPOXyKx5EVup7qkaojECG6NLYswgktOZjaXecSAeCWiZwwiFf3/Y+O1HrauiE3FVsGxFg8c24rZg==", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "Apache-2.0", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": "^18.17.0 || ^20.3.0 || >=21.0.0" + }, + "funding": { + "url": "https://opencollective.com/libvips" + }, + "optionalDependencies": { + "@img/sharp-libvips-linux-arm64": "1.2.4" + } + }, + "node_modules/@img/sharp-linux-ppc64": { + "version": "0.34.5", + "resolved": "https://registry.npmjs.org/@img/sharp-linux-ppc64/-/sharp-linux-ppc64-0.34.5.tgz", + "integrity": "sha512-7zznwNaqW6YtsfrGGDA6BRkISKAAE1Jo0QdpNYXNMHu2+0dTrPflTLNkpc8l7MUP5M16ZJcUvysVWWrMefZquA==", + "cpu": [ + "ppc64" + ], + "dev": true, + "license": "Apache-2.0", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": "^18.17.0 || ^20.3.0 || >=21.0.0" + }, + "funding": { + "url": "https://opencollective.com/libvips" + }, + "optionalDependencies": { + "@img/sharp-libvips-linux-ppc64": "1.2.4" + } + }, + "node_modules/@img/sharp-linux-riscv64": { + "version": "0.34.5", + "resolved": "https://registry.npmjs.org/@img/sharp-linux-riscv64/-/sharp-linux-riscv64-0.34.5.tgz", + "integrity": "sha512-51gJuLPTKa7piYPaVs8GmByo7/U7/7TZOq+cnXJIHZKavIRHAP77e3N2HEl3dgiqdD/w0yUfiJnII77PuDDFdw==", + "cpu": [ + "riscv64" + ], + "dev": true, + "license": "Apache-2.0", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": "^18.17.0 || ^20.3.0 || >=21.0.0" + }, + "funding": { + "url": "https://opencollective.com/libvips" + }, + "optionalDependencies": { + "@img/sharp-libvips-linux-riscv64": "1.2.4" + } + }, + "node_modules/@img/sharp-linux-s390x": { + "version": "0.34.5", + "resolved": "https://registry.npmjs.org/@img/sharp-linux-s390x/-/sharp-linux-s390x-0.34.5.tgz", + "integrity": "sha512-nQtCk0PdKfho3eC5MrbQoigJ2gd1CgddUMkabUj+rBevs8tZ2cULOx46E7oyX+04WGfABgIwmMC0VqieTiR4jg==", + "cpu": [ + "s390x" + ], + "dev": true, + "license": "Apache-2.0", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": "^18.17.0 || ^20.3.0 || >=21.0.0" + }, + "funding": { + "url": "https://opencollective.com/libvips" + }, + "optionalDependencies": { + "@img/sharp-libvips-linux-s390x": "1.2.4" + } + }, + "node_modules/@img/sharp-linux-x64": { + "version": "0.34.5", + "resolved": "https://registry.npmjs.org/@img/sharp-linux-x64/-/sharp-linux-x64-0.34.5.tgz", + "integrity": "sha512-MEzd8HPKxVxVenwAa+JRPwEC7QFjoPWuS5NZnBt6B3pu7EG2Ge0id1oLHZpPJdn3OQK+BQDiw9zStiHBTJQQQQ==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "Apache-2.0", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": "^18.17.0 || ^20.3.0 || >=21.0.0" + }, + "funding": { + "url": "https://opencollective.com/libvips" + }, + "optionalDependencies": { + "@img/sharp-libvips-linux-x64": "1.2.4" + } + }, + "node_modules/@img/sharp-linuxmusl-arm64": { + "version": "0.34.5", + "resolved": "https://registry.npmjs.org/@img/sharp-linuxmusl-arm64/-/sharp-linuxmusl-arm64-0.34.5.tgz", + "integrity": "sha512-fprJR6GtRsMt6Kyfq44IsChVZeGN97gTD331weR1ex1c1rypDEABN6Tm2xa1wE6lYb5DdEnk03NZPqA7Id21yg==", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "Apache-2.0", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": "^18.17.0 || ^20.3.0 || >=21.0.0" + }, + "funding": { + "url": "https://opencollective.com/libvips" + }, + "optionalDependencies": { + "@img/sharp-libvips-linuxmusl-arm64": "1.2.4" + } + }, + "node_modules/@img/sharp-linuxmusl-x64": { + "version": "0.34.5", + "resolved": "https://registry.npmjs.org/@img/sharp-linuxmusl-x64/-/sharp-linuxmusl-x64-0.34.5.tgz", + "integrity": "sha512-Jg8wNT1MUzIvhBFxViqrEhWDGzqymo3sV7z7ZsaWbZNDLXRJZoRGrjulp60YYtV4wfY8VIKcWidjojlLcWrd8Q==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "Apache-2.0", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": "^18.17.0 || ^20.3.0 || >=21.0.0" + }, + "funding": { + "url": "https://opencollective.com/libvips" + }, + "optionalDependencies": { + "@img/sharp-libvips-linuxmusl-x64": "1.2.4" + } + }, + "node_modules/@img/sharp-wasm32": { + "version": "0.34.5", + "resolved": "https://registry.npmjs.org/@img/sharp-wasm32/-/sharp-wasm32-0.34.5.tgz", + "integrity": "sha512-OdWTEiVkY2PHwqkbBI8frFxQQFekHaSSkUIJkwzclWZe64O1X4UlUjqqqLaPbUpMOQk6FBu/HtlGXNblIs0huw==", + "cpu": [ + "wasm32" + ], + "dev": true, + "license": "Apache-2.0 AND LGPL-3.0-or-later AND MIT", + "optional": true, + "dependencies": { + "@emnapi/runtime": "^1.7.0" + }, + "engines": { + "node": "^18.17.0 || ^20.3.0 || >=21.0.0" + }, + "funding": { + "url": "https://opencollective.com/libvips" + } + }, + "node_modules/@img/sharp-win32-arm64": { + "version": "0.34.5", + "resolved": "https://registry.npmjs.org/@img/sharp-win32-arm64/-/sharp-win32-arm64-0.34.5.tgz", + "integrity": "sha512-WQ3AgWCWYSb2yt+IG8mnC6Jdk9Whs7O0gxphblsLvdhSpSTtmu69ZG1Gkb6NuvxsNACwiPV6cNSZNzt0KPsw7g==", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "Apache-2.0 AND LGPL-3.0-or-later", + "optional": true, + "os": [ + "win32" + ], + "engines": { + "node": "^18.17.0 || ^20.3.0 || >=21.0.0" + }, + "funding": { + "url": "https://opencollective.com/libvips" + } + }, + "node_modules/@img/sharp-win32-ia32": { + "version": "0.34.5", + "resolved": "https://registry.npmjs.org/@img/sharp-win32-ia32/-/sharp-win32-ia32-0.34.5.tgz", + "integrity": "sha512-FV9m/7NmeCmSHDD5j4+4pNI8Cp3aW+JvLoXcTUo0IqyjSfAZJ8dIUmijx1qaJsIiU+Hosw6xM5KijAWRJCSgNg==", + "cpu": [ + "ia32" + ], + "dev": true, + "license": "Apache-2.0 AND LGPL-3.0-or-later", + "optional": true, + "os": [ + "win32" + ], + "engines": { + "node": "^18.17.0 || ^20.3.0 || >=21.0.0" + }, + "funding": { + "url": "https://opencollective.com/libvips" + } + }, + "node_modules/@img/sharp-win32-x64": { + "version": "0.34.5", + "resolved": "https://registry.npmjs.org/@img/sharp-win32-x64/-/sharp-win32-x64-0.34.5.tgz", + "integrity": "sha512-+29YMsqY2/9eFEiW93eqWnuLcWcufowXewwSNIT6UwZdUUCrM3oFjMWH/Z6/TMmb4hlFenmfAVbpWeup2jryCw==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "Apache-2.0 AND LGPL-3.0-or-later", + "optional": true, + "os": [ + "win32" + ], + "engines": { + "node": "^18.17.0 || ^20.3.0 || >=21.0.0" + }, + "funding": { + "url": "https://opencollective.com/libvips" + } + }, "node_modules/@isaacs/balanced-match": { "version": "4.0.1", "resolved": "https://registry.npmjs.org/@isaacs/balanced-match/-/balanced-match-4.0.1.tgz", @@ -11126,6 +11617,64 @@ "integrity": "sha512-y0m1JoUZSlPAjXVtPPW70aZWfIL/dSP7AFkRnniLCrK/8MDKog3TySTBmckD+RObVxH0v4Tox67+F14PdED2oQ==", "license": "MIT" }, + "node_modules/sharp": { + "version": "0.34.5", + "resolved": "https://registry.npmjs.org/sharp/-/sharp-0.34.5.tgz", + "integrity": "sha512-Ou9I5Ft9WNcCbXrU9cMgPBcCK8LiwLqcbywW3t4oDV37n1pzpuNLsYiAV8eODnjbtQlSDwZ2cUEeQz4E54Hltg==", + "dev": true, + "hasInstallScript": true, + "license": "Apache-2.0", + "dependencies": { + "@img/colour": "^1.0.0", + "detect-libc": "^2.1.2", + "semver": "^7.7.3" + }, + "engines": { + "node": "^18.17.0 || ^20.3.0 || >=21.0.0" + }, + "funding": { + "url": "https://opencollective.com/libvips" + }, + "optionalDependencies": { + "@img/sharp-darwin-arm64": "0.34.5", + "@img/sharp-darwin-x64": "0.34.5", + "@img/sharp-libvips-darwin-arm64": "1.2.4", + "@img/sharp-libvips-darwin-x64": "1.2.4", + "@img/sharp-libvips-linux-arm": "1.2.4", + "@img/sharp-libvips-linux-arm64": "1.2.4", + "@img/sharp-libvips-linux-ppc64": "1.2.4", + "@img/sharp-libvips-linux-riscv64": "1.2.4", + "@img/sharp-libvips-linux-s390x": "1.2.4", + "@img/sharp-libvips-linux-x64": "1.2.4", + "@img/sharp-libvips-linuxmusl-arm64": "1.2.4", + "@img/sharp-libvips-linuxmusl-x64": "1.2.4", + "@img/sharp-linux-arm": "0.34.5", + "@img/sharp-linux-arm64": "0.34.5", + "@img/sharp-linux-ppc64": "0.34.5", + "@img/sharp-linux-riscv64": "0.34.5", + "@img/sharp-linux-s390x": "0.34.5", + "@img/sharp-linux-x64": "0.34.5", + "@img/sharp-linuxmusl-arm64": "0.34.5", + "@img/sharp-linuxmusl-x64": "0.34.5", + "@img/sharp-wasm32": "0.34.5", + "@img/sharp-win32-arm64": "0.34.5", + "@img/sharp-win32-ia32": "0.34.5", + "@img/sharp-win32-x64": "0.34.5" + } + }, + "node_modules/sharp/node_modules/semver": { + "version": "7.7.3", + "resolved": "https://registry.npmjs.org/semver/-/semver-7.7.3.tgz", + "integrity": "sha512-SdsKMrI9TdgjdweUSR9MweHA4EJ8YxHn8DFaDisvhVlUOe4BF1tLD7GAj0lIqWVl+dPb/rExr0Btby5loQm20Q==", + "dev": true, + "license": "ISC", + "bin": { + "semver": "bin/semver.js" + }, + "engines": { + "node": ">=10" + } + }, "node_modules/shebang-command": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/shebang-command/-/shebang-command-2.0.0.tgz", diff --git a/package.json b/package.json index bcc3db2..17b3905 100644 --- a/package.json +++ b/package.json @@ -44,6 +44,7 @@ "eslint": "^9.25.0", "eslint-config-expo": "~10.0.0", "playwright": "^1.57.0", + "sharp": "^0.34.5", "typescript": "~5.9.2" }, "private": true diff --git a/wellnuoSheme/02_ProjectDescription.json b/wellnuoSheme/.history/04_AppStorePublication/2025-12-12T21-41-10.json similarity index 55% rename from wellnuoSheme/02_ProjectDescription.json rename to wellnuoSheme/.history/04_AppStorePublication/2025-12-12T21-41-10.json index 9949dbd..4a95179 100644 --- a/wellnuoSheme/02_ProjectDescription.json +++ b/wellnuoSheme/.history/04_AppStorePublication/2025-12-12T21-41-10.json @@ -1,28 +1,68 @@ { "_meta": { - "name": "Description", - "updatedAt": "2025-12-12T21:45:00.000Z" + "name": "Main", + "updatedAt": "2025-12-12T21:41:10.294Z" }, "elements": [ { - "id": "project_overview", + "id": "root", "type": "card", - "title": "WellNuo — Project Overview", - "borderColor": "purple", - "tags": [ - "overview" - ], + "title": "WellNuo", "description": "Elderly Care Monitoring System\n\nМобильное приложение для удалённого мониторинга благополучия пожилых родственников через бесконтактные умные сенсоры.\n\n— СУТЬ —\nСемья видит активность пожилого человека без камер, микрофонов и носимых устройств. Сенсоры (движения, двери/окна, окружающей среды) передают данные в облако → приложение показывает статус в реальном времени и отправляет push-уведомления при тревоге.\n\n— АУДИТОРИЯ —\nВзрослые дети и внуки пожилых людей, сами пожилые люди.\n\n— КЛЮЧЕВЫЕ ФУНКЦИИ —\n• Дашборд: текущий статус, последняя активность, здоровье сенсоров\n• Алерты: необычная неактивность, нет движения, сенсор офлайн\n• Отчёты: день/неделя/месяц, паттерны активности, качество сна\n• Поддержка нескольких домов\n\n— ТЕХНОЛОГИИ —\nReact Native + Expo | WellNuo API | Firebase/APNs | WebSocket\n\n— ПРИНЦИПЫ —\nPrivacy-first (никаких камер/микрофонов), спокойный UI, минимальная когнитивная нагрузка, понятные индикаторы статуса.", - "x": 400, - "y": 150 + "x": 125, + "y": 296 + }, + { + "id": "scheme-env", + "type": "card", + "title": "ENV and existing API", + "description": "/Users/sergei/Desktop/WellNuo/wellnuoSheme/01_ENV_Credentials and existing API.json", + "x": 520, + "y": 77 + }, + { + "id": "scheme-questions", + "type": "card", + "title": "Questions", + "description": "/Users/sergei/Desktop/WellNuo/wellnuoSheme/03_DiscussionQuestions.json", + "x": 515.8040161132812, + "y": 378.204833984375 + }, + { + "id": "scheme-appstore", + "type": "card", + "title": "App Store Publication - WellNuo", + "description": "/Users/sergei/Desktop/WellNuo/wellnuoSheme/04_AppStorePublication.json", + "x": 508.95477294921875, + "y": 478.3477478027344, + "tags": [] + }, + { + "id": "scheme-sysanal", + "type": "card", + "title": "SysAnal", + "description": "/Users/sergei/Desktop/WellNuo/wellnuoSheme/SysAnal.json", + "x": 554.7333984375, + "y": 169.93504333496094 } ], - "connections": [], - "tagsDictionary": [ + "connections": [ { - "id": "tag-overview", - "name": "overview", - "color": "purple" + "from": "root", + "to": "scheme-env" + }, + { + "from": "root", + "to": "scheme-questions" + }, + { + "from": "root", + "to": "scheme-appstore" + }, + { + "from": "root", + "to": "scheme-sysanal" } - ] -} + ], + "tagsDictionary": [] +} \ No newline at end of file diff --git a/wellnuoSheme/.history/04_AppStorePublication/2025-12-12T21-41-18.json b/wellnuoSheme/.history/04_AppStorePublication/2025-12-12T21-41-18.json new file mode 100644 index 0000000..073e63f --- /dev/null +++ b/wellnuoSheme/.history/04_AppStorePublication/2025-12-12T21-41-18.json @@ -0,0 +1,590 @@ +{ + "_meta": { + "name": "App Store Publication", + "updatedAt": "2025-12-12T21:41:18.112Z" + }, + "elements": [ + { + "id": "header", + "type": "card", + "title": "WellNuo - App Store Publication", + "borderColor": "purple", + "tags": [ + "overview" + ], + "description": "**Цель:** Опубликовать WellNuo в App Store\n\n**Схема разделена на:**\n\n1. **ПОДГОТОВКА** - что создать до публикации\n2. **ПУБЛИКАЦИЯ** - процесс в App Store Connect\n3. **КОПИРОВАТЬ** - готовые тексты\n\n**Контакт:**\nbernhard@wellnuo.com\n+1-408-647-7068", + "x": -265.20686388015747, + "y": 587.0042724609375 + }, + { + "id": "prep_header", + "type": "card", + "title": "📁 ПОДГОТОВКА", + "borderColor": "orange", + "tags": [ + "prep", + "overview" + ], + "description": "**Что нужно сделать ДО публикации:**\n\n1. Создать страницы на сайте\n2. Подготовить Demo аккаунт\n3. Сделать скриншоты\n4. Собрать build\n\n**Сайт:** wellnuo.com", + "x": 140, + "y": 200 + }, + { + "id": "prep_privacy_page", + "type": "card", + "title": "📄 Privacy Policy Page", + "borderColor": "red", + "tags": [ + "prep", + "website" + ], + "description": "**URL:** https://wellnuo.com/privacy\n\n**Статус:** ⏳ Нужно создать\n\n**Что должно быть:**\n- Какие данные собираем\n- Как используем\n- AI Disclosure (OpenAI)\n- Права пользователя\n- Контакт: privacy@wellnuo.com\n\n**Важно:** URL должен работать до submit!", + "x": 520, + "y": 120 + }, + { + "id": "prep_terms_page", + "type": "card", + "title": "📄 Terms of Service Page", + "borderColor": "red", + "tags": [ + "prep", + "website" + ], + "description": "**URL:** https://wellnuo.com/terms\n\n**Статус:** ⏳ Нужно создать\n\n**Что должно быть:**\n- Условия использования\n- Подписки и оплата\n- Ограничение ответственности\n- НЕ медицинское устройство!\n- Ссылка на Apple EULA\n\n**Контакт:** legal@wellnuo.com", + "x": 520, + "y": 280 + }, + { + "id": "prep_support_page", + "type": "card", + "title": "📄 Support Page", + "borderColor": "red", + "tags": [ + "prep", + "website" + ], + "description": "**URL:** https://wellnuo.com/support\n\n**Статус:** ⏳ Нужно создать\n\n**Что должно быть:**\n- Email: support@wellnuo.com\n- Phone: +1-408-647-7068\n- FAQ (5-7 вопросов)\n- Troubleshooting\n- Response time: 24-48ч", + "x": 520, + "y": 440 + }, + { + "id": "prep_demo_account", + "type": "card", + "title": "🔑 Demo Account", + "borderColor": "green", + "tags": [ + "prep" + ], + "description": "**Для Apple Review:**\n\nEmail: demo@wellnuo.com\nPassword: WellNuoDemo2025!\n\n**Статус:** ⏳ Нужно создать\n\n**Требования:**\n- 30 дней симулированных данных\n- Premium подписка активна\n- Все функции работают\n- Без реального оборудования", + "x": 900, + "y": 120 + }, + { + "id": "prep_screenshots", + "type": "card", + "title": "📱 Screenshots", + "borderColor": "pink", + "tags": [ + "prep", + "design" + ], + "description": "**Нужно сделать для:**\n\n**iPhone 6.7\" (обязательно):**\n1290×2796 px - 3-10 штук\n\n**iPhone 6.5\":**\n1284×2778 px\n\n**iPhone 5.5\" (старые):**\n1242×2208 px\n\n**Экраны:**\n1. Dashboard\n2. Alerts\n3. Reports\n4. Settings\n5. Family", + "x": 900, + "y": 280 + }, + { + "id": "prep_app_icon", + "type": "card", + "title": "🎨 App Icon", + "borderColor": "pink", + "tags": [ + "prep", + "design" + ], + "description": "**Размер:** 1024×1024 PNG\n\n**Требования:**\n- Без прозрачности (no alpha)\n- Без закругленных углов\n- Четко на всех размерах\n\n**Статус:** ⏳ Нужно создать\n\n**Стиль:**\nСердце/забота, градиент синий", + "x": 900, + "y": 440 + }, + { + "id": "prep_build", + "type": "card", + "title": "🔨 Build & TestFlight", + "borderColor": "teal", + "tags": [ + "prep", + "tech" + ], + "description": "**Команды:**\n```\neas build --platform ios\neas submit --platform ios\n```\n\n**Требования:**\n- iOS 17.0+ minimum\n- Xcode 15.2+\n- Без crashes 24ч\n\n**TestFlight:**\n- Internal: до 100 тестеров\n- External: требует Beta Review", + "x": 1280, + "y": 200 + }, + { + "id": "prep_checklist", + "type": "card", + "title": "✅ Checklist Подготовки", + "borderColor": "lime", + "tags": [ + "prep", + "checklist" + ], + "description": "**Перед публикацией:**\n\n□ wellnuo.com/privacy работает\n□ wellnuo.com/terms работает\n□ wellnuo.com/support работает\n□ Demo account создан и тестирован\n□ Screenshots готовы (все размеры)\n□ App Icon 1024x1024 готова\n□ Build загружен в TestFlight\n□ Нет crashes за 24ч", + "x": 1280, + "y": 400 + }, + { + "id": "pub_header", + "type": "card", + "title": "🚀 ПУБЛИКАЦИЯ", + "borderColor": "blue", + "tags": [ + "pub", + "overview" + ], + "description": "**App Store Connect**\n\nПроцесс публикации после подготовки:\n\n1. Apple Developer Account\n2. Создание App\n3. Заполнение информации\n4. Submit на Review\n\n**URL:** appstoreconnect.apple.com", + "x": 140, + "y": 650 + }, + { + "id": "pub_developer_account", + "type": "card", + "title": "👤 Apple Developer Account", + "borderColor": "purple", + "tags": [ + "pub" + ], + "description": "**URL:** developer.apple.com/enroll\n**Стоимость:** $99/год\n\n**Тип:** Organization\n\n**Требуется:**\n- D-U-N-S Number\n- Юридическое название\n- Website компании\n- Телефон для верификации\n\n**Время:** 1-7 дней", + "x": 520, + "y": 600 + }, + { + "id": "pub_create_app", + "type": "card", + "title": "➕ Создание App", + "borderColor": "blue", + "tags": [ + "pub" + ], + "description": "**В App Store Connect:**\n\nMy Apps → + → New App\n\n**Заполнить:**\n- Platform: iOS\n- Name: WellNuo - Senior Care Monitor\n- Primary Language: English\n- Bundle ID: com.wellnuo.seniorcare\n- SKU: WELLNUO-SENIOR-001", + "x": 520, + "y": 760 + }, + { + "id": "pub_app_info", + "type": "card", + "title": "📝 App Information", + "borderColor": "blue", + "tags": [ + "pub" + ], + "description": "**Секция App Information:**\n\n**Category:**\nPrimary: Health & Fitness\nSecondary: Lifestyle\n\n**Content Rights:**\nDoes not contain third-party content\n\n**Age Rating:**\nЗаполнить вопросник → 4+", + "x": 900, + "y": 600 + }, + { + "id": "pub_pricing", + "type": "card", + "title": "💰 Pricing & Availability", + "borderColor": "orange", + "tags": [ + "pub" + ], + "description": "**Base Price:** Free\n\n**Availability:**\nAll territories (или выбрать)\n\n**In-App Purchases:**\n- Monthly: $4.99\n- Yearly: $49.99\n- Lifetime: $149.99\n\n**Free Trial:** 7 days", + "x": 900, + "y": 760 + }, + { + "id": "pub_version_info", + "type": "card", + "title": "📋 Version Information", + "borderColor": "blue", + "tags": [ + "pub" + ], + "description": "**Секция iOS App → Version:**\n\n1. Screenshots (загрузить)\n2. Promotional Text\n3. Description\n4. Keywords\n5. Support URL\n6. Marketing URL\n7. What's New\n\n**Build:** Выбрать из TestFlight", + "x": 1280, + "y": 600 + }, + { + "id": "pub_app_review", + "type": "card", + "title": "🔍 App Review Information", + "borderColor": "green", + "tags": [ + "pub" + ], + "description": "**Sign-In Information:**\nEmail: demo@wellnuo.com\nPassword: WellNuoDemo2025!\n\n**Contact Information:**\nFirst: Bernhard\nLast: Knigge\nPhone: +1-408-647-7068\nEmail: bernhard@wellnuo.com\n\n**Notes:** Добавить инструкции", + "x": 1280, + "y": 760 + }, + { + "id": "pub_app_privacy", + "type": "card", + "title": "🔒 App Privacy", + "borderColor": "red", + "tags": [ + "pub", + "legal" + ], + "description": "**Privacy Policy URL:**\nhttps://wellnuo.com/privacy\n\n**Data Collection:**\n\n✓ Contact Info (Email)\n✓ Health & Fitness\n✓ Identifiers (User ID)\n✓ Usage Data\n✓ Diagnostics\n\n**Tracking:** No", + "x": 1660, + "y": 600 + }, + { + "id": "pub_submit", + "type": "card", + "title": "📤 Submit for Review", + "borderColor": "lime", + "tags": [ + "pub" + ], + "description": "**Финальные шаги:**\n\n1. Проверить все поля заполнены\n2. Проверить URLs работают\n3. Выбрать Build\n4. Submit for Review\n\n**Review Time:** 24-48 часов\n\n**Release:** Automatic / Manual", + "x": 1660, + "y": 760 + }, + { + "id": "copy_header", + "type": "card", + "title": "📋 КОПИРОВАТЬ", + "borderColor": "lime", + "tags": [ + "copy", + "overview" + ], + "description": "**Готовые тексты для вставки**\n\nВсе поля ниже - просто копируй и вставляй в App Store Connect.\n\n**Цвет:** Зелёный (lime) = copy-paste", + "x": 140, + "y": 950 + }, + { + "id": "copy_basic", + "type": "card", + "title": "📋 Basic Info", + "borderColor": "lime", + "tags": [ + "copy" + ], + "description": "**App Name:**\nWellNuo - Senior Care Monitor\n\n**Subtitle:**\nElderly Wellness Tracking\n\n**Bundle ID:**\ncom.wellnuo.seniorcare\n\n**SKU:**\nWELLNUO-SENIOR-001\n\n**Copyright:**\n© 2025 WellNuo Inc.", + "x": 520, + "y": 920 + }, + { + "id": "copy_keywords", + "type": "card", + "title": "📋 Keywords (97 chars)", + "borderColor": "lime", + "tags": [ + "copy" + ], + "description": "**КОПИРОВАТЬ:**\n\nsenior care,elderly monitor,family safety,wellness tracker,aging parents,remote care,health alerts", + "x": 520, + "y": 1080 + }, + { + "id": "copy_promo", + "type": "card", + "title": "📋 Promotional Text", + "borderColor": "lime", + "tags": [ + "copy" + ], + "description": "**КОПИРОВАТЬ (170 chars max):**\n\nCare for your aging parents with peace of mind. WellNuo monitors wellness patterns without cameras - privacy first approach to elderly care.", + "x": 900, + "y": 920 + }, + { + "id": "copy_description", + "type": "card", + "title": "📋 Description", + "borderColor": "lime", + "tags": [ + "copy" + ], + "description": "**КОПИРОВАТЬ:**\n\nCare for your loved ones while preserving their independence. WellNuo is a smart wellness monitoring system designed for elderly family members.\n\nWORRIED ABOUT AGING PARENTS LIVING ALONE?\nWellNuo gives you peace of mind with activity pattern monitoring and instant alerts when something seems unusual.\n\n◆ PRIVACY-FIRST APPROACH\nNo cameras. No microphones. No intrusion.\n\n◆ INSTANT ALERTS\nGet notified immediately when unusual inactivity is detected.\n\n◆ DAILY WELLNESS REPORTS\nTrack trends with easy-to-read reports.\n\n◆ FAMILY SHARING\nConnect the whole family.\n\n◆ AI-POWERED INSIGHTS (Premium)\nSmart analysis detects subtle changes.\n\nFREE FEATURES:\n• Basic activity monitoring\n• Emergency alerts\n• 1 family member\n• 7-day history\n\nPREMIUM:\n• Unlimited history\n• AI analysis\n• Unlimited family\n• Priority support\n\nNOT a medical device.\n\nsupport@wellnuo.com\nwellnuo.com", + "x": 900, + "y": 1080 + }, + { + "id": "copy_whats_new", + "type": "card", + "title": "📋 What's New", + "borderColor": "lime", + "tags": [ + "copy" + ], + "description": "**КОПИРОВАТЬ:**\n\nWelcome to WellNuo!\n\n• Real-time activity monitoring\n• Instant alert notifications\n• Daily and weekly wellness reports\n• Family sharing and coordination\n• Privacy-focused design\n• Sign in with Apple support\n\nStart caring smarter today.", + "x": 1280, + "y": 920 + }, + { + "id": "copy_urls", + "type": "card", + "title": "📋 URLs", + "borderColor": "lime", + "tags": [ + "copy" + ], + "description": "**Privacy Policy URL:**\nhttps://wellnuo.com/privacy\n\n**Support URL:**\nhttps://wellnuo.com/support\n\n**Marketing URL:**\nhttps://wellnuo.com", + "x": 1280, + "y": 1080 + }, + { + "id": "copy_review_notes", + "type": "card", + "title": "📋 Review Notes", + "borderColor": "lime", + "tags": [ + "copy" + ], + "description": "**КОПИРОВАТЬ:**\n\nThis app monitors elderly wellness through activity pattern analysis.\n\nDEMO ACCOUNT:\nThe demo account has 30 days of simulated sensor data. No physical hardware required for testing.\n\nFEATURES TO TEST:\n1. Dashboard - activity overview\n2. Alerts - notifications\n3. Reports - daily/weekly stats\n4. Settings - privacy controls\n5. Family - add members\n\nAI features use OpenAI API (disclosed in privacy policy).\n\nContact: support@wellnuo.com", + "x": 1660, + "y": 920 + }, + { + "id": "copy_age_rating", + "type": "card", + "title": "📋 Age Rating Answers", + "borderColor": "lime", + "tags": [ + "copy" + ], + "description": "**ВСЕ ОТВЕТЫ:**\n\nViolence: None\nSexual Content: None\nProfanity: None\nDrugs: None\nGambling: None\nHorror: None\nMedical Info: **Infrequent/Mild**\nWeb Access: No\nContests: No\n\n**Результат: 4+**", + "x": 1660, + "y": 1080 + }, + { + "id": "copy_export", + "type": "card", + "title": "📋 Export Compliance", + "borderColor": "lime", + "tags": [ + "copy" + ], + "description": "**Q: Uses encryption?**\nA: Yes\n\n**Q: Qualifies for exemption?**\nA: Yes - Standard HTTPS/TLS only. Qualifies under Note 4 to Category 5, Part 2 of EAR.\n\nNo custom encryption algorithms.", + "x": 2040, + "y": 920 + }, + { + "id": "copy_iap", + "type": "card", + "title": "📋 In-App Purchases", + "borderColor": "lime", + "tags": [ + "copy" + ], + "description": "**Monthly:**\nID: com.wellnuo.premium.monthly\nPrice: $4.99/month\nName: WellNuo Premium\nDesc: Unlock unlimited history, AI insights, and family connections.\n\n**Yearly:**\nID: com.wellnuo.premium.yearly\nPrice: $49.99/year\nName: WellNuo Premium (Annual)\nDesc: Save 17% with annual subscription.\n\n**Lifetime:**\nID: com.wellnuo.lifetime\nPrice: $149.99\nName: WellNuo Lifetime\nDesc: One-time purchase for lifetime access.\n\n**Trial:** 7 days", + "x": 2040, + "y": 1080 + }, + { + "id": "copy_info_plist", + "type": "card", + "title": "📋 Info.plist Keys", + "borderColor": "cyan", + "tags": [ + "copy", + "tech" + ], + "description": "**NSLocationWhenInUseUsageDescription:**\nWellNuo uses your location to detect when you arrive home or leave, helping monitor daily activity patterns.\n\n**NSCameraUsageDescription:**\nWellNuo uses the camera to scan QR codes when setting up devices.\n\n**NSHealthShareUsageDescription:**\nWellNuo reads health data to provide wellness monitoring.\n\n**NSUserNotificationsUsageDescription:**\nWellNuo sends notifications about wellness updates.", + "x": 2420, + "y": 920 + }, + { + "id": "copy_privacy_content", + "type": "card", + "title": "📋 Privacy Policy Content", + "borderColor": "red", + "tags": [ + "copy", + "legal" + ], + "description": "**Ключевые разделы:**\n\n1. **Data Collected:** Email, activity data, device info\n\n2. **How Used:** Monitoring, alerts, reports\n\n3. **AI Disclosure:** OpenAI GPT API for insights. Anonymized data only. User consent required.\n\n4. **Sharing:** NO selling data. Only: authorized family, legal, service providers.\n\n5. **Security:** AES-256 encryption\n\n6. **Rights:** Access, correct, delete data\n\n7. **Children:** Not for under 13\n\n**Contact:** privacy@wellnuo.com", + "x": 2420, + "y": 1080 + } + ], + "connections": [ + { + "from": "header", + "to": "prep_header", + "label": "1" + }, + { + "from": "header", + "to": "pub_header", + "label": "2" + }, + { + "from": "header", + "to": "copy_header", + "label": "3" + }, + { + "from": "prep_header", + "to": "prep_privacy_page" + }, + { + "from": "prep_header", + "to": "prep_demo_account" + }, + { + "from": "prep_privacy_page", + "to": "prep_terms_page" + }, + { + "from": "prep_terms_page", + "to": "prep_support_page" + }, + { + "from": "prep_demo_account", + "to": "prep_screenshots" + }, + { + "from": "prep_screenshots", + "to": "prep_app_icon" + }, + { + "from": "prep_app_icon", + "to": "prep_build" + }, + { + "from": "prep_build", + "to": "prep_checklist" + }, + { + "from": "pub_header", + "to": "pub_developer_account" + }, + { + "from": "pub_developer_account", + "to": "pub_create_app" + }, + { + "from": "pub_create_app", + "to": "pub_app_info" + }, + { + "from": "pub_app_info", + "to": "pub_pricing" + }, + { + "from": "pub_app_info", + "to": "pub_version_info" + }, + { + "from": "pub_version_info", + "to": "pub_app_review" + }, + { + "from": "pub_app_review", + "to": "pub_app_privacy" + }, + { + "from": "pub_app_privacy", + "to": "pub_submit" + }, + { + "from": "copy_header", + "to": "copy_basic" + }, + { + "from": "copy_basic", + "to": "copy_keywords" + }, + { + "from": "copy_basic", + "to": "copy_promo" + }, + { + "from": "copy_promo", + "to": "copy_description" + }, + { + "from": "copy_keywords", + "to": "copy_description" + }, + { + "from": "copy_description", + "to": "copy_whats_new" + }, + { + "from": "copy_whats_new", + "to": "copy_urls" + }, + { + "from": "copy_urls", + "to": "copy_review_notes" + }, + { + "from": "copy_review_notes", + "to": "copy_age_rating" + }, + { + "from": "copy_age_rating", + "to": "copy_export" + }, + { + "from": "copy_export", + "to": "copy_iap" + }, + { + "from": "copy_iap", + "to": "copy_info_plist" + }, + { + "from": "copy_info_plist", + "to": "copy_privacy_content" + }, + { + "from": "prep_checklist", + "to": "pub_header", + "label": "После подготовки" + } + ], + "tagsDictionary": [ + { + "id": "tag-overview", + "name": "overview", + "color": "purple" + }, + { + "id": "tag-prep", + "name": "prep", + "color": "orange" + }, + { + "id": "tag-pub", + "name": "pub", + "color": "blue" + }, + { + "id": "tag-copy", + "name": "copy", + "color": "lime" + }, + { + "id": "tag-website", + "name": "website", + "color": "red" + }, + { + "id": "tag-design", + "name": "design", + "color": "pink" + }, + { + "id": "tag-tech", + "name": "tech", + "color": "teal" + }, + { + "id": "tag-legal", + "name": "legal", + "color": "red" + }, + { + "id": "tag-checklist", + "name": "checklist", + "color": "green" + } + ] +} \ No newline at end of file diff --git a/wellnuoSheme/.history/04_AppStorePublication/2025-12-12T21-41-22.json b/wellnuoSheme/.history/04_AppStorePublication/2025-12-12T21-41-22.json new file mode 100644 index 0000000..665363a --- /dev/null +++ b/wellnuoSheme/.history/04_AppStorePublication/2025-12-12T21-41-22.json @@ -0,0 +1,590 @@ +{ + "_meta": { + "name": "App Store Publication", + "updatedAt": "2025-12-12T21:41:22.246Z" + }, + "elements": [ + { + "id": "header", + "type": "card", + "title": "WellNuo - App Store Publication", + "borderColor": "purple", + "tags": [ + "overview" + ], + "description": "**Цель:** Опубликовать WellNuo в App Store\n\n**Схема разделена на:**\n\n1. **ПОДГОТОВКА** - что создать до публикации\n2. **ПУБЛИКАЦИЯ** - процесс в App Store Connect\n3. **КОПИРОВАТЬ** - готовые тексты\n\n**Контакт:**\nbernhard@wellnuo.com\n+1-408-647-7068", + "x": -265.20686388015747, + "y": 587.0042724609375 + }, + { + "id": "prep_header", + "type": "card", + "title": "📁 ПОДГОТОВКА", + "borderColor": "orange", + "tags": [ + "prep", + "overview" + ], + "description": "**Что нужно сделать ДО публикации:**\n\n1. Создать страницы на сайте\n2. Подготовить Demo аккаунт\n3. Сделать скриншоты\n4. Собрать build\n\n**Сайт:** wellnuo.com", + "x": 140, + "y": 200 + }, + { + "id": "prep_privacy_page", + "type": "card", + "title": "📄 Privacy Policy Page", + "borderColor": "red", + "tags": [ + "prep", + "website" + ], + "description": "**URL:** https://wellnuo.com/privacy\n\n**Статус:** ⏳ Нужно создать\n\n**Что должно быть:**\n- Какие данные собираем\n- Как используем\n- AI Disclosure (OpenAI)\n- Права пользователя\n- Контакт: privacy@wellnuo.com\n\n**Важно:** URL должен работать до submit!", + "x": 538.4039916992188, + "y": 198.2169532775879 + }, + { + "id": "prep_terms_page", + "type": "card", + "title": "📄 Terms of Service Page", + "borderColor": "red", + "tags": [ + "prep", + "website" + ], + "description": "**URL:** https://wellnuo.com/terms\n\n**Статус:** ⏳ Нужно создать\n\n**Что должно быть:**\n- Условия использования\n- Подписки и оплата\n- Ограничение ответственности\n- НЕ медицинское устройство!\n- Ссылка на Apple EULA\n\n**Контакт:** legal@wellnuo.com", + "x": 520, + "y": 280 + }, + { + "id": "prep_support_page", + "type": "card", + "title": "📄 Support Page", + "borderColor": "red", + "tags": [ + "prep", + "website" + ], + "description": "**URL:** https://wellnuo.com/support\n\n**Статус:** ⏳ Нужно создать\n\n**Что должно быть:**\n- Email: support@wellnuo.com\n- Phone: +1-408-647-7068\n- FAQ (5-7 вопросов)\n- Troubleshooting\n- Response time: 24-48ч", + "x": 520, + "y": 440 + }, + { + "id": "prep_demo_account", + "type": "card", + "title": "🔑 Demo Account", + "borderColor": "green", + "tags": [ + "prep" + ], + "description": "**Для Apple Review:**\n\nEmail: demo@wellnuo.com\nPassword: WellNuoDemo2025!\n\n**Статус:** ⏳ Нужно создать\n\n**Требования:**\n- 30 дней симулированных данных\n- Premium подписка активна\n- Все функции работают\n- Без реального оборудования", + "x": 900, + "y": 120 + }, + { + "id": "prep_screenshots", + "type": "card", + "title": "📱 Screenshots", + "borderColor": "pink", + "tags": [ + "prep", + "design" + ], + "description": "**Нужно сделать для:**\n\n**iPhone 6.7\" (обязательно):**\n1290×2796 px - 3-10 штук\n\n**iPhone 6.5\":**\n1284×2778 px\n\n**iPhone 5.5\" (старые):**\n1242×2208 px\n\n**Экраны:**\n1. Dashboard\n2. Alerts\n3. Reports\n4. Settings\n5. Family", + "x": 900, + "y": 280 + }, + { + "id": "prep_app_icon", + "type": "card", + "title": "🎨 App Icon", + "borderColor": "pink", + "tags": [ + "prep", + "design" + ], + "description": "**Размер:** 1024×1024 PNG\n\n**Требования:**\n- Без прозрачности (no alpha)\n- Без закругленных углов\n- Четко на всех размерах\n\n**Статус:** ⏳ Нужно создать\n\n**Стиль:**\nСердце/забота, градиент синий", + "x": 900, + "y": 440 + }, + { + "id": "prep_build", + "type": "card", + "title": "🔨 Build & TestFlight", + "borderColor": "teal", + "tags": [ + "prep", + "tech" + ], + "description": "**Команды:**\n```\neas build --platform ios\neas submit --platform ios\n```\n\n**Требования:**\n- iOS 17.0+ minimum\n- Xcode 15.2+\n- Без crashes 24ч\n\n**TestFlight:**\n- Internal: до 100 тестеров\n- External: требует Beta Review", + "x": 1280, + "y": 200 + }, + { + "id": "prep_checklist", + "type": "card", + "title": "✅ Checklist Подготовки", + "borderColor": "lime", + "tags": [ + "prep", + "checklist" + ], + "description": "**Перед публикацией:**\n\n□ wellnuo.com/privacy работает\n□ wellnuo.com/terms работает\n□ wellnuo.com/support работает\n□ Demo account создан и тестирован\n□ Screenshots готовы (все размеры)\n□ App Icon 1024x1024 готова\n□ Build загружен в TestFlight\n□ Нет crashes за 24ч", + "x": 1280, + "y": 400 + }, + { + "id": "pub_header", + "type": "card", + "title": "🚀 ПУБЛИКАЦИЯ", + "borderColor": "blue", + "tags": [ + "pub", + "overview" + ], + "description": "**App Store Connect**\n\nПроцесс публикации после подготовки:\n\n1. Apple Developer Account\n2. Создание App\n3. Заполнение информации\n4. Submit на Review\n\n**URL:** appstoreconnect.apple.com", + "x": 140, + "y": 650 + }, + { + "id": "pub_developer_account", + "type": "card", + "title": "👤 Apple Developer Account", + "borderColor": "purple", + "tags": [ + "pub" + ], + "description": "**URL:** developer.apple.com/enroll\n**Стоимость:** $99/год\n\n**Тип:** Organization\n\n**Требуется:**\n- D-U-N-S Number\n- Юридическое название\n- Website компании\n- Телефон для верификации\n\n**Время:** 1-7 дней", + "x": 520, + "y": 600 + }, + { + "id": "pub_create_app", + "type": "card", + "title": "➕ Создание App", + "borderColor": "blue", + "tags": [ + "pub" + ], + "description": "**В App Store Connect:**\n\nMy Apps → + → New App\n\n**Заполнить:**\n- Platform: iOS\n- Name: WellNuo - Senior Care Monitor\n- Primary Language: English\n- Bundle ID: com.wellnuo.seniorcare\n- SKU: WELLNUO-SENIOR-001", + "x": 520, + "y": 760 + }, + { + "id": "pub_app_info", + "type": "card", + "title": "📝 App Information", + "borderColor": "blue", + "tags": [ + "pub" + ], + "description": "**Секция App Information:**\n\n**Category:**\nPrimary: Health & Fitness\nSecondary: Lifestyle\n\n**Content Rights:**\nDoes not contain third-party content\n\n**Age Rating:**\nЗаполнить вопросник → 4+", + "x": 900, + "y": 600 + }, + { + "id": "pub_pricing", + "type": "card", + "title": "💰 Pricing & Availability", + "borderColor": "orange", + "tags": [ + "pub" + ], + "description": "**Base Price:** Free\n\n**Availability:**\nAll territories (или выбрать)\n\n**In-App Purchases:**\n- Monthly: $4.99\n- Yearly: $49.99\n- Lifetime: $149.99\n\n**Free Trial:** 7 days", + "x": 900, + "y": 760 + }, + { + "id": "pub_version_info", + "type": "card", + "title": "📋 Version Information", + "borderColor": "blue", + "tags": [ + "pub" + ], + "description": "**Секция iOS App → Version:**\n\n1. Screenshots (загрузить)\n2. Promotional Text\n3. Description\n4. Keywords\n5. Support URL\n6. Marketing URL\n7. What's New\n\n**Build:** Выбрать из TestFlight", + "x": 1280, + "y": 600 + }, + { + "id": "pub_app_review", + "type": "card", + "title": "🔍 App Review Information", + "borderColor": "green", + "tags": [ + "pub" + ], + "description": "**Sign-In Information:**\nEmail: demo@wellnuo.com\nPassword: WellNuoDemo2025!\n\n**Contact Information:**\nFirst: Bernhard\nLast: Knigge\nPhone: +1-408-647-7068\nEmail: bernhard@wellnuo.com\n\n**Notes:** Добавить инструкции", + "x": 1280, + "y": 760 + }, + { + "id": "pub_app_privacy", + "type": "card", + "title": "🔒 App Privacy", + "borderColor": "red", + "tags": [ + "pub", + "legal" + ], + "description": "**Privacy Policy URL:**\nhttps://wellnuo.com/privacy\n\n**Data Collection:**\n\n✓ Contact Info (Email)\n✓ Health & Fitness\n✓ Identifiers (User ID)\n✓ Usage Data\n✓ Diagnostics\n\n**Tracking:** No", + "x": 1660, + "y": 600 + }, + { + "id": "pub_submit", + "type": "card", + "title": "📤 Submit for Review", + "borderColor": "lime", + "tags": [ + "pub" + ], + "description": "**Финальные шаги:**\n\n1. Проверить все поля заполнены\n2. Проверить URLs работают\n3. Выбрать Build\n4. Submit for Review\n\n**Review Time:** 24-48 часов\n\n**Release:** Automatic / Manual", + "x": 1660, + "y": 760 + }, + { + "id": "copy_header", + "type": "card", + "title": "📋 КОПИРОВАТЬ", + "borderColor": "lime", + "tags": [ + "copy", + "overview" + ], + "description": "**Готовые тексты для вставки**\n\nВсе поля ниже - просто копируй и вставляй в App Store Connect.\n\n**Цвет:** Зелёный (lime) = copy-paste", + "x": 140, + "y": 950 + }, + { + "id": "copy_basic", + "type": "card", + "title": "📋 Basic Info", + "borderColor": "lime", + "tags": [ + "copy" + ], + "description": "**App Name:**\nWellNuo - Senior Care Monitor\n\n**Subtitle:**\nElderly Wellness Tracking\n\n**Bundle ID:**\ncom.wellnuo.seniorcare\n\n**SKU:**\nWELLNUO-SENIOR-001\n\n**Copyright:**\n© 2025 WellNuo Inc.", + "x": 520, + "y": 920 + }, + { + "id": "copy_keywords", + "type": "card", + "title": "📋 Keywords (97 chars)", + "borderColor": "lime", + "tags": [ + "copy" + ], + "description": "**КОПИРОВАТЬ:**\n\nsenior care,elderly monitor,family safety,wellness tracker,aging parents,remote care,health alerts", + "x": 520, + "y": 1080 + }, + { + "id": "copy_promo", + "type": "card", + "title": "📋 Promotional Text", + "borderColor": "lime", + "tags": [ + "copy" + ], + "description": "**КОПИРОВАТЬ (170 chars max):**\n\nCare for your aging parents with peace of mind. WellNuo monitors wellness patterns without cameras - privacy first approach to elderly care.", + "x": 900, + "y": 920 + }, + { + "id": "copy_description", + "type": "card", + "title": "📋 Description", + "borderColor": "lime", + "tags": [ + "copy" + ], + "description": "**КОПИРОВАТЬ:**\n\nCare for your loved ones while preserving their independence. WellNuo is a smart wellness monitoring system designed for elderly family members.\n\nWORRIED ABOUT AGING PARENTS LIVING ALONE?\nWellNuo gives you peace of mind with activity pattern monitoring and instant alerts when something seems unusual.\n\n◆ PRIVACY-FIRST APPROACH\nNo cameras. No microphones. No intrusion.\n\n◆ INSTANT ALERTS\nGet notified immediately when unusual inactivity is detected.\n\n◆ DAILY WELLNESS REPORTS\nTrack trends with easy-to-read reports.\n\n◆ FAMILY SHARING\nConnect the whole family.\n\n◆ AI-POWERED INSIGHTS (Premium)\nSmart analysis detects subtle changes.\n\nFREE FEATURES:\n• Basic activity monitoring\n• Emergency alerts\n• 1 family member\n• 7-day history\n\nPREMIUM:\n• Unlimited history\n• AI analysis\n• Unlimited family\n• Priority support\n\nNOT a medical device.\n\nsupport@wellnuo.com\nwellnuo.com", + "x": 900, + "y": 1080 + }, + { + "id": "copy_whats_new", + "type": "card", + "title": "📋 What's New", + "borderColor": "lime", + "tags": [ + "copy" + ], + "description": "**КОПИРОВАТЬ:**\n\nWelcome to WellNuo!\n\n• Real-time activity monitoring\n• Instant alert notifications\n• Daily and weekly wellness reports\n• Family sharing and coordination\n• Privacy-focused design\n• Sign in with Apple support\n\nStart caring smarter today.", + "x": 1280, + "y": 920 + }, + { + "id": "copy_urls", + "type": "card", + "title": "📋 URLs", + "borderColor": "lime", + "tags": [ + "copy" + ], + "description": "**Privacy Policy URL:**\nhttps://wellnuo.com/privacy\n\n**Support URL:**\nhttps://wellnuo.com/support\n\n**Marketing URL:**\nhttps://wellnuo.com", + "x": 1280, + "y": 1080 + }, + { + "id": "copy_review_notes", + "type": "card", + "title": "📋 Review Notes", + "borderColor": "lime", + "tags": [ + "copy" + ], + "description": "**КОПИРОВАТЬ:**\n\nThis app monitors elderly wellness through activity pattern analysis.\n\nDEMO ACCOUNT:\nThe demo account has 30 days of simulated sensor data. No physical hardware required for testing.\n\nFEATURES TO TEST:\n1. Dashboard - activity overview\n2. Alerts - notifications\n3. Reports - daily/weekly stats\n4. Settings - privacy controls\n5. Family - add members\n\nAI features use OpenAI API (disclosed in privacy policy).\n\nContact: support@wellnuo.com", + "x": 1660, + "y": 920 + }, + { + "id": "copy_age_rating", + "type": "card", + "title": "📋 Age Rating Answers", + "borderColor": "lime", + "tags": [ + "copy" + ], + "description": "**ВСЕ ОТВЕТЫ:**\n\nViolence: None\nSexual Content: None\nProfanity: None\nDrugs: None\nGambling: None\nHorror: None\nMedical Info: **Infrequent/Mild**\nWeb Access: No\nContests: No\n\n**Результат: 4+**", + "x": 1660, + "y": 1080 + }, + { + "id": "copy_export", + "type": "card", + "title": "📋 Export Compliance", + "borderColor": "lime", + "tags": [ + "copy" + ], + "description": "**Q: Uses encryption?**\nA: Yes\n\n**Q: Qualifies for exemption?**\nA: Yes - Standard HTTPS/TLS only. Qualifies under Note 4 to Category 5, Part 2 of EAR.\n\nNo custom encryption algorithms.", + "x": 2040, + "y": 920 + }, + { + "id": "copy_iap", + "type": "card", + "title": "📋 In-App Purchases", + "borderColor": "lime", + "tags": [ + "copy" + ], + "description": "**Monthly:**\nID: com.wellnuo.premium.monthly\nPrice: $4.99/month\nName: WellNuo Premium\nDesc: Unlock unlimited history, AI insights, and family connections.\n\n**Yearly:**\nID: com.wellnuo.premium.yearly\nPrice: $49.99/year\nName: WellNuo Premium (Annual)\nDesc: Save 17% with annual subscription.\n\n**Lifetime:**\nID: com.wellnuo.lifetime\nPrice: $149.99\nName: WellNuo Lifetime\nDesc: One-time purchase for lifetime access.\n\n**Trial:** 7 days", + "x": 2040, + "y": 1080 + }, + { + "id": "copy_info_plist", + "type": "card", + "title": "📋 Info.plist Keys", + "borderColor": "cyan", + "tags": [ + "copy", + "tech" + ], + "description": "**NSLocationWhenInUseUsageDescription:**\nWellNuo uses your location to detect when you arrive home or leave, helping monitor daily activity patterns.\n\n**NSCameraUsageDescription:**\nWellNuo uses the camera to scan QR codes when setting up devices.\n\n**NSHealthShareUsageDescription:**\nWellNuo reads health data to provide wellness monitoring.\n\n**NSUserNotificationsUsageDescription:**\nWellNuo sends notifications about wellness updates.", + "x": 2420, + "y": 920 + }, + { + "id": "copy_privacy_content", + "type": "card", + "title": "📋 Privacy Policy Content", + "borderColor": "red", + "tags": [ + "copy", + "legal" + ], + "description": "**Ключевые разделы:**\n\n1. **Data Collected:** Email, activity data, device info\n\n2. **How Used:** Monitoring, alerts, reports\n\n3. **AI Disclosure:** OpenAI GPT API for insights. Anonymized data only. User consent required.\n\n4. **Sharing:** NO selling data. Only: authorized family, legal, service providers.\n\n5. **Security:** AES-256 encryption\n\n6. **Rights:** Access, correct, delete data\n\n7. **Children:** Not for under 13\n\n**Contact:** privacy@wellnuo.com", + "x": 2420, + "y": 1080 + } + ], + "connections": [ + { + "from": "header", + "to": "prep_header", + "label": "1" + }, + { + "from": "header", + "to": "pub_header", + "label": "2" + }, + { + "from": "header", + "to": "copy_header", + "label": "3" + }, + { + "from": "prep_header", + "to": "prep_privacy_page" + }, + { + "from": "prep_header", + "to": "prep_demo_account" + }, + { + "from": "prep_privacy_page", + "to": "prep_terms_page" + }, + { + "from": "prep_terms_page", + "to": "prep_support_page" + }, + { + "from": "prep_demo_account", + "to": "prep_screenshots" + }, + { + "from": "prep_screenshots", + "to": "prep_app_icon" + }, + { + "from": "prep_app_icon", + "to": "prep_build" + }, + { + "from": "prep_build", + "to": "prep_checklist" + }, + { + "from": "pub_header", + "to": "pub_developer_account" + }, + { + "from": "pub_developer_account", + "to": "pub_create_app" + }, + { + "from": "pub_create_app", + "to": "pub_app_info" + }, + { + "from": "pub_app_info", + "to": "pub_pricing" + }, + { + "from": "pub_app_info", + "to": "pub_version_info" + }, + { + "from": "pub_version_info", + "to": "pub_app_review" + }, + { + "from": "pub_app_review", + "to": "pub_app_privacy" + }, + { + "from": "pub_app_privacy", + "to": "pub_submit" + }, + { + "from": "copy_header", + "to": "copy_basic" + }, + { + "from": "copy_basic", + "to": "copy_keywords" + }, + { + "from": "copy_basic", + "to": "copy_promo" + }, + { + "from": "copy_promo", + "to": "copy_description" + }, + { + "from": "copy_keywords", + "to": "copy_description" + }, + { + "from": "copy_description", + "to": "copy_whats_new" + }, + { + "from": "copy_whats_new", + "to": "copy_urls" + }, + { + "from": "copy_urls", + "to": "copy_review_notes" + }, + { + "from": "copy_review_notes", + "to": "copy_age_rating" + }, + { + "from": "copy_age_rating", + "to": "copy_export" + }, + { + "from": "copy_export", + "to": "copy_iap" + }, + { + "from": "copy_iap", + "to": "copy_info_plist" + }, + { + "from": "copy_info_plist", + "to": "copy_privacy_content" + }, + { + "from": "prep_checklist", + "to": "pub_header", + "label": "После подготовки" + } + ], + "tagsDictionary": [ + { + "id": "tag-overview", + "name": "overview", + "color": "purple" + }, + { + "id": "tag-prep", + "name": "prep", + "color": "orange" + }, + { + "id": "tag-pub", + "name": "pub", + "color": "blue" + }, + { + "id": "tag-copy", + "name": "copy", + "color": "lime" + }, + { + "id": "tag-website", + "name": "website", + "color": "red" + }, + { + "id": "tag-design", + "name": "design", + "color": "pink" + }, + { + "id": "tag-tech", + "name": "tech", + "color": "teal" + }, + { + "id": "tag-legal", + "name": "legal", + "color": "red" + }, + { + "id": "tag-checklist", + "name": "checklist", + "color": "green" + } + ] +} \ No newline at end of file diff --git a/wellnuoSheme/.history/04_AppStorePublication/2025-12-12T21-45-19.json b/wellnuoSheme/.history/04_AppStorePublication/2025-12-12T21-45-19.json new file mode 100644 index 0000000..58d64d8 --- /dev/null +++ b/wellnuoSheme/.history/04_AppStorePublication/2025-12-12T21-45-19.json @@ -0,0 +1,575 @@ +{ + "_meta": { + "name": "App Store Publication", + "updatedAt": "2025-12-12T21:45:19.180Z" + }, + "elements": [ + { + "id": "header", + "type": "card", + "title": "WellNuo - App Store Publication", + "borderColor": "purple", + "tags": [ + "overview" + ], + "description": "**Цель:** Опубликовать WellNuo в App Store\n\n**Две фазы:**\n1. **ПОДГОТОВКА** - создать страницы, тексты, материалы\n2. **ПУБЛИКАЦИЯ** - загрузить в App Store Connect\n\n**Контакт:**\nbernhard@wellnuo.com\n+1-408-647-7068", + "x": 140, + "y": 50 + }, + { + "id": "prep_header", + "type": "card", + "title": "📁 ПОДГОТОВКА", + "borderColor": "orange", + "tags": [ + "prep", + "overview" + ], + "description": "**Всё что нужно сделать ДО публикации**\n\n**Разделы:**\n• Страницы сайта (3 URL)\n• App Store тексты\n• Дизайн материалы\n• Технические настройки\n• Demo account\n\n**Сайт:** wellnuo.com", + "x": 920.0125122070312, + "y": -127.84777069091797 + }, + { + "id": "prep_privacy", + "type": "card", + "title": "📄 Privacy Policy", + "borderColor": "red", + "tags": [ + "prep", + "website" + ], + "description": "**URL:** https://wellnuo.com/privacy\n\n**Разделы для страницы:**\n\n1. **Data Collected:** Email, activity data, device info\n\n2. **How Used:** Monitoring, alerts, reports\n\n3. **AI Disclosure:** OpenAI GPT API. Anonymized data only. User consent required.\n\n4. **Sharing:** NO selling. Only: family, legal, providers.\n\n5. **Security:** AES-256 encryption\n\n6. **Rights:** Access, correct, delete\n\n7. **Children:** Not for under 13\n\n**Contact:** privacy@wellnuo.com", + "x": 520, + "y": 150 + }, + { + "id": "prep_terms", + "type": "card", + "title": "📄 Terms of Service", + "borderColor": "red", + "tags": [ + "prep", + "website" + ], + "description": "**URL:** https://wellnuo.com/terms\n\n**Ключевые пункты:**\n\n1. **NOT a medical device** - не замена врачу и 911\n\n2. **Subscriptions** - через Apple, auto-renew\n\n3. **Liability** - не отвечаем за сбои сенсоров\n\n4. **Apple EULA** - ссылка на стандартное\n\n5. **Governing Law** - California, USA\n\n**Contact:** legal@wellnuo.com", + "x": 520, + "y": 350 + }, + { + "id": "prep_support", + "type": "card", + "title": "📄 Support Page", + "borderColor": "red", + "tags": [ + "prep", + "website" + ], + "description": "**URL:** https://wellnuo.com/support\n\n**Контакты:**\nEmail: support@wellnuo.com\nPhone: +1-408-647-7068\nHours: Mon-Fri, 9AM-6PM PST\nResponse: 24-48 hours\n\n**FAQ темы:**\n- Как работает WellNuo?\n- Безопасность данных\n- Отмена подписки\n- Добавление семьи\n- Удаление аккаунта\n\n**Troubleshooting:**\n- Crashes → перезапуск\n- Нет алертов → настройки\n- Сенсоры → Bluetooth", + "x": 520, + "y": 550 + }, + { + "id": "prep_app_name", + "type": "card", + "title": "📋 App Name & Info", + "borderColor": "lime", + "tags": [ + "prep", + "appstore" + ], + "description": "**App Name (30 chars):**\nWellNuo - Senior Care Monitor\n\n**Subtitle (30 chars):**\nElderly Wellness Tracking\n\n**Bundle ID:**\ncom.wellnuo.seniorcare\n\n**SKU:**\nWELLNUO-SENIOR-001\n\n**Primary Category:**\nHealth & Fitness\n\n**Secondary:**\nLifestyle\n\n**Copyright:**\n© 2025 WellNuo Inc.", + "x": 900, + "y": 150 + }, + { + "id": "prep_keywords", + "type": "card", + "title": "📋 Keywords (97/100)", + "borderColor": "lime", + "tags": [ + "prep", + "appstore" + ], + "description": "**КОПИРОВАТЬ:**\n\nsenior care,elderly monitor,family safety,wellness tracker,aging parents,remote care,health alerts\n\n**Правила:**\n- Без пробелов после запятых\n- Без слов из названия\n- Без множественного числа", + "x": 900, + "y": 350 + }, + { + "id": "prep_description", + "type": "card", + "title": "📋 Description", + "borderColor": "lime", + "tags": [ + "prep", + "appstore" + ], + "description": "**КОПИРОВАТЬ:**\n\nCare for your loved ones while preserving their independence. WellNuo is a smart wellness monitoring system designed for elderly family members.\n\nWORRIED ABOUT AGING PARENTS LIVING ALONE?\nWellNuo gives you peace of mind with activity pattern monitoring and instant alerts when something seems unusual.\n\n◆ PRIVACY-FIRST APPROACH\nNo cameras. No microphones. No intrusion.\n\n◆ INSTANT ALERTS\nGet notified immediately when unusual inactivity is detected.\n\n◆ DAILY WELLNESS REPORTS\nTrack trends with easy-to-read reports.\n\n◆ FAMILY SHARING\nConnect the whole family.\n\n◆ AI-POWERED INSIGHTS (Premium)\nSmart analysis detects subtle changes.\n\nFREE:\n• Basic monitoring\n• Emergency alerts\n• 1 family member\n• 7-day history\n\nPREMIUM:\n• Unlimited history\n• AI analysis\n• Unlimited family\n• Priority support\n\nNOT a medical device.\n\nsupport@wellnuo.com\nwellnuo.com", + "x": 900, + "y": 550 + }, + { + "id": "prep_promo", + "type": "card", + "title": "📋 Promotional Text", + "borderColor": "lime", + "tags": [ + "prep", + "appstore" + ], + "description": "**КОПИРОВАТЬ (170 chars max):**\n\nCare for your aging parents with peace of mind. WellNuo monitors wellness patterns without cameras - privacy first approach to elderly care.\n\n*Можно менять без ревью!*", + "x": 1280, + "y": 150 + }, + { + "id": "prep_whats_new", + "type": "card", + "title": "📋 What's New (v1.0)", + "borderColor": "lime", + "tags": [ + "prep", + "appstore" + ], + "description": "**КОПИРОВАТЬ:**\n\nWelcome to WellNuo!\n\n• Real-time activity monitoring\n• Instant alert notifications\n• Daily and weekly wellness reports\n• Family sharing and coordination\n• Privacy-focused design\n• Sign in with Apple support\n\nStart caring smarter today.", + "x": 1280, + "y": 350 + }, + { + "id": "prep_review_notes", + "type": "card", + "title": "📋 Review Notes", + "borderColor": "lime", + "tags": [ + "prep", + "appstore" + ], + "description": "**КОПИРОВАТЬ:**\n\nThis app monitors elderly wellness through activity pattern analysis.\n\nDEMO ACCOUNT:\nThe demo account has 30 days of simulated sensor data. No physical hardware required for testing.\n\nFEATURES TO TEST:\n1. Dashboard - activity overview\n2. Alerts - notifications\n3. Reports - daily/weekly stats\n4. Settings - privacy controls\n5. Family - add members\n\nAI features use OpenAI API (disclosed in privacy policy).\n\nContact: support@wellnuo.com", + "x": 1280, + "y": 550 + }, + { + "id": "prep_demo", + "type": "card", + "title": "🔑 Demo Account", + "borderColor": "green", + "tags": [ + "prep" + ], + "description": "**Для Apple Review:**\n\n**Email:** demo@wellnuo.com\n**Password:** WellNuoDemo2025!\n\n**Требования:**\n- 30 дней симулированных данных\n- Premium подписка активна\n- Все функции работают\n- Без реального оборудования\n\n**Contact:**\nFirst: Bernhard\nLast: Knigge\nPhone: +1-408-647-7068\nEmail: bernhard@wellnuo.com", + "x": 1660, + "y": 150 + }, + { + "id": "prep_screenshots", + "type": "card", + "title": "📱 Screenshots", + "borderColor": "pink", + "tags": [ + "prep", + "design" + ], + "description": "**Размеры:**\n\n**iPhone 6.7\" (обязательно):**\n1290×2796 px\n\n**iPhone 6.5\":**\n1284×2778 px\n\n**iPhone 5.5\" (старые):**\n1242×2208 px\n\n**Экраны (3-10 штук):**\n1. Dashboard\n2. Alerts\n3. Reports\n4. Settings\n5. Family", + "x": 1660, + "y": 350 + }, + { + "id": "prep_icon", + "type": "card", + "title": "🎨 App Icon", + "borderColor": "pink", + "tags": [ + "prep", + "design" + ], + "description": "**Размер:** 1024×1024 PNG\n\n**Требования:**\n- Без прозрачности (no alpha)\n- Без закругленных углов\n- Четко на всех размерах\n\n**Стиль:**\nСердце/забота, градиент синий", + "x": 1660, + "y": 550 + }, + { + "id": "prep_iap", + "type": "card", + "title": "💰 In-App Purchases", + "borderColor": "orange", + "tags": [ + "prep", + "appstore" + ], + "description": "**Monthly:**\nID: com.wellnuo.premium.monthly\nPrice: $4.99/month\nName: WellNuo Premium\nDesc: Unlock unlimited history, AI insights, and family connections.\n\n**Yearly:**\nID: com.wellnuo.premium.yearly\nPrice: $49.99/year\nName: WellNuo Premium (Annual)\nDesc: Save 17% with annual subscription.\n\n**Lifetime:**\nID: com.wellnuo.lifetime\nPrice: $149.99\nName: WellNuo Lifetime\nDesc: One-time purchase for lifetime access.\n\n**Trial:** 7 days", + "x": 2040, + "y": 150 + }, + { + "id": "prep_age_rating", + "type": "card", + "title": "📋 Age Rating (4+)", + "borderColor": "teal", + "tags": [ + "prep", + "appstore" + ], + "description": "**Ответы на вопросник:**\n\nViolence: **None**\nSexual Content: **None**\nProfanity: **None**\nDrugs: **None**\nGambling: **None**\nHorror: **None**\nMedical Info: **Infrequent/Mild**\nWeb Access: **No**\nContests: **No**\n\n**Результат: 4+**", + "x": 2040, + "y": 350 + }, + { + "id": "prep_export", + "type": "card", + "title": "📋 Export Compliance", + "borderColor": "teal", + "tags": [ + "prep", + "appstore" + ], + "description": "**Q: Uses encryption?**\nA: Yes\n\n**Q: Qualifies for exemption?**\nA: Yes - Standard HTTPS/TLS only.\n\nQualifies under Note 4 to Category 5, Part 2 of EAR.\n\nNo custom encryption algorithms.", + "x": 2040, + "y": 550 + }, + { + "id": "prep_info_plist", + "type": "card", + "title": "📋 Info.plist Keys", + "borderColor": "cyan", + "tags": [ + "prep", + "tech" + ], + "description": "**NSLocationWhenInUseUsageDescription:**\nWellNuo uses your location to detect when you arrive home or leave, helping monitor daily activity patterns.\n\n**NSCameraUsageDescription:**\nWellNuo uses the camera to scan QR codes when setting up devices.\n\n**NSHealthShareUsageDescription:**\nWellNuo reads health data to provide wellness monitoring.\n\n**NSUserNotificationsUsageDescription:**\nWellNuo sends notifications about wellness updates.", + "x": 2420, + "y": 150 + }, + { + "id": "prep_privacy_labels", + "type": "card", + "title": "📋 App Privacy Labels", + "borderColor": "cyan", + "tags": [ + "prep", + "appstore" + ], + "description": "**Data Collected:**\n\n✓ Contact Info (Email)\n - Linked: Yes\n - Purpose: App Functionality\n\n✓ Health & Fitness\n - Linked: Yes\n - Purpose: App Functionality\n\n✓ Identifiers (User ID)\n - Linked: Yes\n - Purpose: App Functionality\n\n✓ Usage Data\n - Linked: No\n - Purpose: Analytics\n\n✓ Diagnostics\n - Linked: No\n - Purpose: App Functionality\n\n**Tracking:** No", + "x": 2420, + "y": 350 + }, + { + "id": "prep_build", + "type": "card", + "title": "🔨 Build & TestFlight", + "borderColor": "teal", + "tags": [ + "prep", + "tech" + ], + "description": "**Команды:**\n```\neas build --platform ios\neas submit --platform ios\n```\n\n**Требования:**\n- iOS 17.0+ minimum\n- Xcode 15.2+\n- Без crashes 24ч\n\n**TestFlight:**\n- Internal: до 100 тестеров\n- External: требует Beta Review", + "x": 2420, + "y": 550 + }, + { + "id": "prep_checklist", + "type": "card", + "title": "✅ Checklist Подготовки", + "borderColor": "green", + "tags": [ + "prep", + "checklist" + ], + "description": "**Перед публикацией:**\n\n**Сайт:**\n□ wellnuo.com/privacy работает\n□ wellnuo.com/terms работает\n□ wellnuo.com/support работает\n\n**Материалы:**\n□ Screenshots готовы\n□ App Icon 1024x1024\n□ Все тексты готовы\n\n**Технические:**\n□ Demo account работает\n□ Build в TestFlight\n□ Нет crashes 24ч", + "x": 2800, + "y": 350 + }, + { + "id": "pub_header", + "type": "card", + "title": "🚀 ПУБЛИКАЦИЯ", + "borderColor": "blue", + "tags": [ + "pub", + "overview" + ], + "description": "**App Store Connect**\n\n**URL:** appstoreconnect.apple.com\n\n**Шаги:**\n1. Apple Developer Account\n2. Создание App\n3. Заполнение полей\n4. Submit на Review\n\n**Review Time:** 24-48 часов", + "x": 140, + "y": 800 + }, + { + "id": "pub_account", + "type": "card", + "title": "👤 Apple Developer Account", + "borderColor": "purple", + "tags": [ + "pub" + ], + "description": "**URL:** developer.apple.com/enroll\n**Стоимость:** $99/год\n\n**Тип:** Organization\n\n**Требуется:**\n- D-U-N-S Number\n- Юр. название компании\n- Website\n- Телефон для верификации\n\n**Время:** 1-7 дней", + "x": 520, + "y": 750 + }, + { + "id": "pub_create", + "type": "card", + "title": "➕ Создание App", + "borderColor": "blue", + "tags": [ + "pub" + ], + "description": "**My Apps → + → New App**\n\n**Заполнить:**\n- Platform: iOS\n- Name: WellNuo - Senior Care Monitor\n- Primary Language: English\n- Bundle ID: com.wellnuo.seniorcare\n- SKU: WELLNUO-SENIOR-001\n\n**User Access:** Full Access", + "x": 520, + "y": 950 + }, + { + "id": "pub_app_info", + "type": "card", + "title": "📝 App Information", + "borderColor": "blue", + "tags": [ + "pub" + ], + "description": "**Секция App Information:**\n\n**Subtitle:**\nElderly Wellness Tracking\n\n**Category:**\nPrimary: Health & Fitness\nSecondary: Lifestyle\n\n**Content Rights:**\nDoes not contain third-party content\n\n**Age Rating:**\nЗаполнить вопросник → **4+**", + "x": 900, + "y": 750 + }, + { + "id": "pub_pricing", + "type": "card", + "title": "💰 Pricing", + "borderColor": "orange", + "tags": [ + "pub" + ], + "description": "**Schedule → Price:**\nBase Price: **Free**\n\n**Availability:**\nAll territories\n\n**In-App Purchases:**\nСоздать 3 продукта из подготовки\n\n**Subscriptions:**\nГруппа: WellNuo Premium\nTrial: 7 days", + "x": 900, + "y": 950 + }, + { + "id": "pub_version", + "type": "card", + "title": "📋 Version Info", + "borderColor": "blue", + "tags": [ + "pub" + ], + "description": "**iOS App → 1.0:**\n\n1. **Screenshots** - загрузить\n2. **Promotional Text** - из подготовки\n3. **Description** - из подготовки\n4. **Keywords** - из подготовки\n5. **Support URL** - wellnuo.com/support\n6. **Marketing URL** - wellnuo.com\n7. **What's New** - из подготовки\n8. **Build** - выбрать из TestFlight", + "x": 1280, + "y": 750 + }, + { + "id": "pub_review", + "type": "card", + "title": "🔍 App Review", + "borderColor": "green", + "tags": [ + "pub" + ], + "description": "**Sign-In Required:** Yes\n\n**Demo Account:**\nEmail: demo@wellnuo.com\nPassword: WellNuoDemo2025!\n\n**Contact:**\nFirst: Bernhard\nLast: Knigge\nPhone: +1-408-647-7068\nEmail: bernhard@wellnuo.com\n\n**Notes:** вставить из подготовки", + "x": 1280, + "y": 950 + }, + { + "id": "pub_privacy", + "type": "card", + "title": "🔒 App Privacy", + "borderColor": "red", + "tags": [ + "pub" + ], + "description": "**Privacy Policy URL:**\nhttps://wellnuo.com/privacy\n\n**Data Collection:**\nЗаполнить по чеклисту из App Privacy Labels\n\n**Tracking:** No\n\n**Third-Party SDKs:**\nOpenAI API (disclosed)", + "x": 1660, + "y": 750 + }, + { + "id": "pub_submit", + "type": "card", + "title": "📤 Submit", + "borderColor": "lime", + "tags": [ + "pub" + ], + "description": "**Финальные шаги:**\n\n1. ✓ Все поля заполнены\n2. ✓ URLs работают\n3. ✓ Build выбран\n4. ✓ Screenshots загружены\n5. **Add for Review**\n6. **Submit to App Review**\n\n**Review:** 24-48 часов\n**Release:** Automatic", + "x": 1660, + "y": 950 + } + ], + "connections": [ + { + "from": "header", + "to": "prep_header", + "label": "1" + }, + { + "from": "header", + "to": "pub_header", + "label": "2" + }, + { + "from": "prep_header", + "to": "prep_privacy" + }, + { + "from": "prep_header", + "to": "prep_app_name" + }, + { + "from": "prep_header", + "to": "prep_demo" + }, + { + "from": "prep_header", + "to": "prep_iap" + }, + { + "from": "prep_header", + "to": "prep_info_plist" + }, + { + "from": "prep_privacy", + "to": "prep_terms" + }, + { + "from": "prep_terms", + "to": "prep_support" + }, + { + "from": "prep_app_name", + "to": "prep_keywords" + }, + { + "from": "prep_keywords", + "to": "prep_description" + }, + { + "from": "prep_description", + "to": "prep_promo" + }, + { + "from": "prep_promo", + "to": "prep_whats_new" + }, + { + "from": "prep_whats_new", + "to": "prep_review_notes" + }, + { + "from": "prep_demo", + "to": "prep_screenshots" + }, + { + "from": "prep_screenshots", + "to": "prep_icon" + }, + { + "from": "prep_iap", + "to": "prep_age_rating" + }, + { + "from": "prep_age_rating", + "to": "prep_export" + }, + { + "from": "prep_info_plist", + "to": "prep_privacy_labels" + }, + { + "from": "prep_privacy_labels", + "to": "prep_build" + }, + { + "from": "prep_support", + "to": "prep_checklist" + }, + { + "from": "prep_review_notes", + "to": "prep_checklist" + }, + { + "from": "prep_icon", + "to": "prep_checklist" + }, + { + "from": "prep_export", + "to": "prep_checklist" + }, + { + "from": "prep_build", + "to": "prep_checklist" + }, + { + "from": "prep_checklist", + "to": "pub_header", + "label": "Готово →" + }, + { + "from": "pub_header", + "to": "pub_account" + }, + { + "from": "pub_account", + "to": "pub_create" + }, + { + "from": "pub_create", + "to": "pub_app_info" + }, + { + "from": "pub_app_info", + "to": "pub_pricing" + }, + { + "from": "pub_app_info", + "to": "pub_version" + }, + { + "from": "pub_version", + "to": "pub_review" + }, + { + "from": "pub_review", + "to": "pub_privacy" + }, + { + "from": "pub_pricing", + "to": "pub_privacy" + }, + { + "from": "pub_privacy", + "to": "pub_submit" + } + ], + "tagsDictionary": [ + { + "id": "tag-overview", + "name": "overview", + "color": "purple" + }, + { + "id": "tag-prep", + "name": "prep", + "color": "orange" + }, + { + "id": "tag-pub", + "name": "pub", + "color": "blue" + }, + { + "id": "tag-website", + "name": "website", + "color": "red" + }, + { + "id": "tag-appstore", + "name": "appstore", + "color": "lime" + }, + { + "id": "tag-design", + "name": "design", + "color": "pink" + }, + { + "id": "tag-tech", + "name": "tech", + "color": "teal" + }, + { + "id": "tag-checklist", + "name": "checklist", + "color": "green" + } + ] +} \ No newline at end of file diff --git a/wellnuoSheme/.history/04_AppStorePublication/2025-12-12T21-45-22.json b/wellnuoSheme/.history/04_AppStorePublication/2025-12-12T21-45-22.json new file mode 100644 index 0000000..b009743 --- /dev/null +++ b/wellnuoSheme/.history/04_AppStorePublication/2025-12-12T21-45-22.json @@ -0,0 +1,575 @@ +{ + "_meta": { + "name": "App Store Publication", + "updatedAt": "2025-12-12T21:45:22.793Z" + }, + "elements": [ + { + "id": "header", + "type": "card", + "title": "WellNuo - App Store Publication", + "borderColor": "purple", + "tags": [ + "overview" + ], + "description": "**Цель:** Опубликовать WellNuo в App Store\n\n**Две фазы:**\n1. **ПОДГОТОВКА** - создать страницы, тексты, материалы\n2. **ПУБЛИКАЦИЯ** - загрузить в App Store Connect\n\n**Контакт:**\nbernhard@wellnuo.com\n+1-408-647-7068", + "x": 140, + "y": 50 + }, + { + "id": "prep_header", + "type": "card", + "title": "📁 ПОДГОТОВКА", + "borderColor": "orange", + "tags": [ + "prep", + "overview" + ], + "description": "**Всё что нужно сделать ДО публикации**\n\n**Разделы:**\n• Страницы сайта (3 URL)\n• App Store тексты\n• Дизайн материалы\n• Технические настройки\n• Demo account\n\n**Сайт:** wellnuo.com", + "x": 920.0125122070312, + "y": -127.84777069091797 + }, + { + "id": "prep_privacy", + "type": "card", + "title": "📄 Privacy Policy", + "borderColor": "red", + "tags": [ + "prep", + "website" + ], + "description": "**URL:** https://wellnuo.com/privacy\n\n**Разделы для страницы:**\n\n1. **Data Collected:** Email, activity data, device info\n\n2. **How Used:** Monitoring, alerts, reports\n\n3. **AI Disclosure:** OpenAI GPT API. Anonymized data only. User consent required.\n\n4. **Sharing:** NO selling. Only: family, legal, providers.\n\n5. **Security:** AES-256 encryption\n\n6. **Rights:** Access, correct, delete\n\n7. **Children:** Not for under 13\n\n**Contact:** privacy@wellnuo.com", + "x": 520, + "y": 150 + }, + { + "id": "prep_terms", + "type": "card", + "title": "📄 Terms of Service", + "borderColor": "red", + "tags": [ + "prep", + "website" + ], + "description": "**URL:** https://wellnuo.com/terms\n\n**Ключевые пункты:**\n\n1. **NOT a medical device** - не замена врачу и 911\n\n2. **Subscriptions** - через Apple, auto-renew\n\n3. **Liability** - не отвечаем за сбои сенсоров\n\n4. **Apple EULA** - ссылка на стандартное\n\n5. **Governing Law** - California, USA\n\n**Contact:** legal@wellnuo.com", + "x": 520, + "y": 350 + }, + { + "id": "prep_support", + "type": "card", + "title": "📄 Support Page", + "borderColor": "red", + "tags": [ + "prep", + "website" + ], + "description": "**URL:** https://wellnuo.com/support\n\n**Контакты:**\nEmail: support@wellnuo.com\nPhone: +1-408-647-7068\nHours: Mon-Fri, 9AM-6PM PST\nResponse: 24-48 hours\n\n**FAQ темы:**\n- Как работает WellNuo?\n- Безопасность данных\n- Отмена подписки\n- Добавление семьи\n- Удаление аккаунта\n\n**Troubleshooting:**\n- Crashes → перезапуск\n- Нет алертов → настройки\n- Сенсоры → Bluetooth", + "x": 520, + "y": 550 + }, + { + "id": "prep_app_name", + "type": "card", + "title": "📋 App Name & Info", + "borderColor": "lime", + "tags": [ + "prep", + "appstore" + ], + "description": "**App Name (30 chars):**\nWellNuo - Senior Care Monitor\n\n**Subtitle (30 chars):**\nElderly Wellness Tracking\n\n**Bundle ID:**\ncom.wellnuo.seniorcare\n\n**SKU:**\nWELLNUO-SENIOR-001\n\n**Primary Category:**\nHealth & Fitness\n\n**Secondary:**\nLifestyle\n\n**Copyright:**\n© 2025 WellNuo Inc.", + "x": 900, + "y": 150 + }, + { + "id": "prep_keywords", + "type": "card", + "title": "📋 Keywords (97/100)", + "borderColor": "lime", + "tags": [ + "prep", + "appstore" + ], + "description": "**КОПИРОВАТЬ:**\n\nsenior care,elderly monitor,family safety,wellness tracker,aging parents,remote care,health alerts\n\n**Правила:**\n- Без пробелов после запятых\n- Без слов из названия\n- Без множественного числа", + "x": 900, + "y": 350 + }, + { + "id": "prep_description", + "type": "card", + "title": "📋 Description", + "borderColor": "lime", + "tags": [ + "prep", + "appstore" + ], + "description": "**КОПИРОВАТЬ:**\n\nCare for your loved ones while preserving their independence. WellNuo is a smart wellness monitoring system designed for elderly family members.\n\nWORRIED ABOUT AGING PARENTS LIVING ALONE?\nWellNuo gives you peace of mind with activity pattern monitoring and instant alerts when something seems unusual.\n\n◆ PRIVACY-FIRST APPROACH\nNo cameras. No microphones. No intrusion.\n\n◆ INSTANT ALERTS\nGet notified immediately when unusual inactivity is detected.\n\n◆ DAILY WELLNESS REPORTS\nTrack trends with easy-to-read reports.\n\n◆ FAMILY SHARING\nConnect the whole family.\n\n◆ AI-POWERED INSIGHTS (Premium)\nSmart analysis detects subtle changes.\n\nFREE:\n• Basic monitoring\n• Emergency alerts\n• 1 family member\n• 7-day history\n\nPREMIUM:\n• Unlimited history\n• AI analysis\n• Unlimited family\n• Priority support\n\nNOT a medical device.\n\nsupport@wellnuo.com\nwellnuo.com", + "x": 900, + "y": 550 + }, + { + "id": "prep_promo", + "type": "card", + "title": "📋 Promotional Text", + "borderColor": "lime", + "tags": [ + "prep", + "appstore" + ], + "description": "**КОПИРОВАТЬ (170 chars max):**\n\nCare for your aging parents with peace of mind. WellNuo monitors wellness patterns without cameras - privacy first approach to elderly care.\n\n*Можно менять без ревью!*", + "x": 1280, + "y": 150 + }, + { + "id": "prep_whats_new", + "type": "card", + "title": "📋 What's New (v1.0)", + "borderColor": "lime", + "tags": [ + "prep", + "appstore" + ], + "description": "**КОПИРОВАТЬ:**\n\nWelcome to WellNuo!\n\n• Real-time activity monitoring\n• Instant alert notifications\n• Daily and weekly wellness reports\n• Family sharing and coordination\n• Privacy-focused design\n• Sign in with Apple support\n\nStart caring smarter today.", + "x": 1280, + "y": 350 + }, + { + "id": "prep_review_notes", + "type": "card", + "title": "📋 Review Notes", + "borderColor": "lime", + "tags": [ + "prep", + "appstore" + ], + "description": "**КОПИРОВАТЬ:**\n\nThis app monitors elderly wellness through activity pattern analysis.\n\nDEMO ACCOUNT:\nThe demo account has 30 days of simulated sensor data. No physical hardware required for testing.\n\nFEATURES TO TEST:\n1. Dashboard - activity overview\n2. Alerts - notifications\n3. Reports - daily/weekly stats\n4. Settings - privacy controls\n5. Family - add members\n\nAI features use OpenAI API (disclosed in privacy policy).\n\nContact: support@wellnuo.com", + "x": 1280, + "y": 550 + }, + { + "id": "prep_demo", + "type": "card", + "title": "🔑 Demo Account", + "borderColor": "green", + "tags": [ + "prep" + ], + "description": "**Для Apple Review:**\n\n**Email:** demo@wellnuo.com\n**Password:** WellNuoDemo2025!\n\n**Требования:**\n- 30 дней симулированных данных\n- Premium подписка активна\n- Все функции работают\n- Без реального оборудования\n\n**Contact:**\nFirst: Bernhard\nLast: Knigge\nPhone: +1-408-647-7068\nEmail: bernhard@wellnuo.com", + "x": 1660, + "y": 150 + }, + { + "id": "prep_screenshots", + "type": "card", + "title": "📱 Screenshots", + "borderColor": "pink", + "tags": [ + "prep", + "design" + ], + "description": "**Размеры:**\n\n**iPhone 6.7\" (обязательно):**\n1290×2796 px\n\n**iPhone 6.5\":**\n1284×2778 px\n\n**iPhone 5.5\" (старые):**\n1242×2208 px\n\n**Экраны (3-10 штук):**\n1. Dashboard\n2. Alerts\n3. Reports\n4. Settings\n5. Family", + "x": 1660, + "y": 350 + }, + { + "id": "prep_icon", + "type": "card", + "title": "🎨 App Icon", + "borderColor": "pink", + "tags": [ + "prep", + "design" + ], + "description": "**Размер:** 1024×1024 PNG\n\n**Требования:**\n- Без прозрачности (no alpha)\n- Без закругленных углов\n- Четко на всех размерах\n\n**Стиль:**\nСердце/забота, градиент синий", + "x": 1660, + "y": 550 + }, + { + "id": "prep_iap", + "type": "card", + "title": "💰 In-App Purchases", + "borderColor": "orange", + "tags": [ + "prep", + "appstore" + ], + "description": "**Monthly:**\nID: com.wellnuo.premium.monthly\nPrice: $4.99/month\nName: WellNuo Premium\nDesc: Unlock unlimited history, AI insights, and family connections.\n\n**Yearly:**\nID: com.wellnuo.premium.yearly\nPrice: $49.99/year\nName: WellNuo Premium (Annual)\nDesc: Save 17% with annual subscription.\n\n**Lifetime:**\nID: com.wellnuo.lifetime\nPrice: $149.99\nName: WellNuo Lifetime\nDesc: One-time purchase for lifetime access.\n\n**Trial:** 7 days", + "x": 2040, + "y": 150 + }, + { + "id": "prep_age_rating", + "type": "card", + "title": "📋 Age Rating (4+)", + "borderColor": "teal", + "tags": [ + "prep", + "appstore" + ], + "description": "**Ответы на вопросник:**\n\nViolence: **None**\nSexual Content: **None**\nProfanity: **None**\nDrugs: **None**\nGambling: **None**\nHorror: **None**\nMedical Info: **Infrequent/Mild**\nWeb Access: **No**\nContests: **No**\n\n**Результат: 4+**", + "x": 2040, + "y": 350 + }, + { + "id": "prep_export", + "type": "card", + "title": "📋 Export Compliance", + "borderColor": "teal", + "tags": [ + "prep", + "appstore" + ], + "description": "**Q: Uses encryption?**\nA: Yes\n\n**Q: Qualifies for exemption?**\nA: Yes - Standard HTTPS/TLS only.\n\nQualifies under Note 4 to Category 5, Part 2 of EAR.\n\nNo custom encryption algorithms.", + "x": 2040, + "y": 550 + }, + { + "id": "prep_info_plist", + "type": "card", + "title": "📋 Info.plist Keys", + "borderColor": "cyan", + "tags": [ + "prep", + "tech" + ], + "description": "**NSLocationWhenInUseUsageDescription:**\nWellNuo uses your location to detect when you arrive home or leave, helping monitor daily activity patterns.\n\n**NSCameraUsageDescription:**\nWellNuo uses the camera to scan QR codes when setting up devices.\n\n**NSHealthShareUsageDescription:**\nWellNuo reads health data to provide wellness monitoring.\n\n**NSUserNotificationsUsageDescription:**\nWellNuo sends notifications about wellness updates.", + "x": 2420, + "y": 150 + }, + { + "id": "prep_privacy_labels", + "type": "card", + "title": "📋 App Privacy Labels", + "borderColor": "cyan", + "tags": [ + "prep", + "appstore" + ], + "description": "**Data Collected:**\n\n✓ Contact Info (Email)\n - Linked: Yes\n - Purpose: App Functionality\n\n✓ Health & Fitness\n - Linked: Yes\n - Purpose: App Functionality\n\n✓ Identifiers (User ID)\n - Linked: Yes\n - Purpose: App Functionality\n\n✓ Usage Data\n - Linked: No\n - Purpose: Analytics\n\n✓ Diagnostics\n - Linked: No\n - Purpose: App Functionality\n\n**Tracking:** No", + "x": 2420, + "y": 350 + }, + { + "id": "prep_build", + "type": "card", + "title": "🔨 Build & TestFlight", + "borderColor": "teal", + "tags": [ + "prep", + "tech" + ], + "description": "**Команды:**\n```\neas build --platform ios\neas submit --platform ios\n```\n\n**Требования:**\n- iOS 17.0+ minimum\n- Xcode 15.2+\n- Без crashes 24ч\n\n**TestFlight:**\n- Internal: до 100 тестеров\n- External: требует Beta Review", + "x": 2420, + "y": 550 + }, + { + "id": "prep_checklist", + "type": "card", + "title": "✅ Checklist Подготовки", + "borderColor": "green", + "tags": [ + "prep", + "checklist" + ], + "description": "**Перед публикацией:**\n\n**Сайт:**\n□ wellnuo.com/privacy работает\n□ wellnuo.com/terms работает\n□ wellnuo.com/support работает\n\n**Материалы:**\n□ Screenshots готовы\n□ App Icon 1024x1024\n□ Все тексты готовы\n\n**Технические:**\n□ Demo account работает\n□ Build в TestFlight\n□ Нет crashes 24ч", + "x": 983.7119140625, + "y": 602.5220031738281 + }, + { + "id": "pub_header", + "type": "card", + "title": "🚀 ПУБЛИКАЦИЯ", + "borderColor": "blue", + "tags": [ + "pub", + "overview" + ], + "description": "**App Store Connect**\n\n**URL:** appstoreconnect.apple.com\n\n**Шаги:**\n1. Apple Developer Account\n2. Создание App\n3. Заполнение полей\n4. Submit на Review\n\n**Review Time:** 24-48 часов", + "x": 140, + "y": 800 + }, + { + "id": "pub_account", + "type": "card", + "title": "👤 Apple Developer Account", + "borderColor": "purple", + "tags": [ + "pub" + ], + "description": "**URL:** developer.apple.com/enroll\n**Стоимость:** $99/год\n\n**Тип:** Organization\n\n**Требуется:**\n- D-U-N-S Number\n- Юр. название компании\n- Website\n- Телефон для верификации\n\n**Время:** 1-7 дней", + "x": 520, + "y": 750 + }, + { + "id": "pub_create", + "type": "card", + "title": "➕ Создание App", + "borderColor": "blue", + "tags": [ + "pub" + ], + "description": "**My Apps → + → New App**\n\n**Заполнить:**\n- Platform: iOS\n- Name: WellNuo - Senior Care Monitor\n- Primary Language: English\n- Bundle ID: com.wellnuo.seniorcare\n- SKU: WELLNUO-SENIOR-001\n\n**User Access:** Full Access", + "x": 520, + "y": 950 + }, + { + "id": "pub_app_info", + "type": "card", + "title": "📝 App Information", + "borderColor": "blue", + "tags": [ + "pub" + ], + "description": "**Секция App Information:**\n\n**Subtitle:**\nElderly Wellness Tracking\n\n**Category:**\nPrimary: Health & Fitness\nSecondary: Lifestyle\n\n**Content Rights:**\nDoes not contain third-party content\n\n**Age Rating:**\nЗаполнить вопросник → **4+**", + "x": 900, + "y": 750 + }, + { + "id": "pub_pricing", + "type": "card", + "title": "💰 Pricing", + "borderColor": "orange", + "tags": [ + "pub" + ], + "description": "**Schedule → Price:**\nBase Price: **Free**\n\n**Availability:**\nAll territories\n\n**In-App Purchases:**\nСоздать 3 продукта из подготовки\n\n**Subscriptions:**\nГруппа: WellNuo Premium\nTrial: 7 days", + "x": 900, + "y": 950 + }, + { + "id": "pub_version", + "type": "card", + "title": "📋 Version Info", + "borderColor": "blue", + "tags": [ + "pub" + ], + "description": "**iOS App → 1.0:**\n\n1. **Screenshots** - загрузить\n2. **Promotional Text** - из подготовки\n3. **Description** - из подготовки\n4. **Keywords** - из подготовки\n5. **Support URL** - wellnuo.com/support\n6. **Marketing URL** - wellnuo.com\n7. **What's New** - из подготовки\n8. **Build** - выбрать из TestFlight", + "x": 1280, + "y": 750 + }, + { + "id": "pub_review", + "type": "card", + "title": "🔍 App Review", + "borderColor": "green", + "tags": [ + "pub" + ], + "description": "**Sign-In Required:** Yes\n\n**Demo Account:**\nEmail: demo@wellnuo.com\nPassword: WellNuoDemo2025!\n\n**Contact:**\nFirst: Bernhard\nLast: Knigge\nPhone: +1-408-647-7068\nEmail: bernhard@wellnuo.com\n\n**Notes:** вставить из подготовки", + "x": 1280, + "y": 950 + }, + { + "id": "pub_privacy", + "type": "card", + "title": "🔒 App Privacy", + "borderColor": "red", + "tags": [ + "pub" + ], + "description": "**Privacy Policy URL:**\nhttps://wellnuo.com/privacy\n\n**Data Collection:**\nЗаполнить по чеклисту из App Privacy Labels\n\n**Tracking:** No\n\n**Third-Party SDKs:**\nOpenAI API (disclosed)", + "x": 1660, + "y": 750 + }, + { + "id": "pub_submit", + "type": "card", + "title": "📤 Submit", + "borderColor": "lime", + "tags": [ + "pub" + ], + "description": "**Финальные шаги:**\n\n1. ✓ Все поля заполнены\n2. ✓ URLs работают\n3. ✓ Build выбран\n4. ✓ Screenshots загружены\n5. **Add for Review**\n6. **Submit to App Review**\n\n**Review:** 24-48 часов\n**Release:** Automatic", + "x": 1660, + "y": 950 + } + ], + "connections": [ + { + "from": "header", + "to": "prep_header", + "label": "1" + }, + { + "from": "header", + "to": "pub_header", + "label": "2" + }, + { + "from": "prep_header", + "to": "prep_privacy" + }, + { + "from": "prep_header", + "to": "prep_app_name" + }, + { + "from": "prep_header", + "to": "prep_demo" + }, + { + "from": "prep_header", + "to": "prep_iap" + }, + { + "from": "prep_header", + "to": "prep_info_plist" + }, + { + "from": "prep_privacy", + "to": "prep_terms" + }, + { + "from": "prep_terms", + "to": "prep_support" + }, + { + "from": "prep_app_name", + "to": "prep_keywords" + }, + { + "from": "prep_keywords", + "to": "prep_description" + }, + { + "from": "prep_description", + "to": "prep_promo" + }, + { + "from": "prep_promo", + "to": "prep_whats_new" + }, + { + "from": "prep_whats_new", + "to": "prep_review_notes" + }, + { + "from": "prep_demo", + "to": "prep_screenshots" + }, + { + "from": "prep_screenshots", + "to": "prep_icon" + }, + { + "from": "prep_iap", + "to": "prep_age_rating" + }, + { + "from": "prep_age_rating", + "to": "prep_export" + }, + { + "from": "prep_info_plist", + "to": "prep_privacy_labels" + }, + { + "from": "prep_privacy_labels", + "to": "prep_build" + }, + { + "from": "prep_support", + "to": "prep_checklist" + }, + { + "from": "prep_review_notes", + "to": "prep_checklist" + }, + { + "from": "prep_icon", + "to": "prep_checklist" + }, + { + "from": "prep_export", + "to": "prep_checklist" + }, + { + "from": "prep_build", + "to": "prep_checklist" + }, + { + "from": "prep_checklist", + "to": "pub_header", + "label": "Готово →" + }, + { + "from": "pub_header", + "to": "pub_account" + }, + { + "from": "pub_account", + "to": "pub_create" + }, + { + "from": "pub_create", + "to": "pub_app_info" + }, + { + "from": "pub_app_info", + "to": "pub_pricing" + }, + { + "from": "pub_app_info", + "to": "pub_version" + }, + { + "from": "pub_version", + "to": "pub_review" + }, + { + "from": "pub_review", + "to": "pub_privacy" + }, + { + "from": "pub_pricing", + "to": "pub_privacy" + }, + { + "from": "pub_privacy", + "to": "pub_submit" + } + ], + "tagsDictionary": [ + { + "id": "tag-overview", + "name": "overview", + "color": "purple" + }, + { + "id": "tag-prep", + "name": "prep", + "color": "orange" + }, + { + "id": "tag-pub", + "name": "pub", + "color": "blue" + }, + { + "id": "tag-website", + "name": "website", + "color": "red" + }, + { + "id": "tag-appstore", + "name": "appstore", + "color": "lime" + }, + { + "id": "tag-design", + "name": "design", + "color": "pink" + }, + { + "id": "tag-tech", + "name": "tech", + "color": "teal" + }, + { + "id": "tag-checklist", + "name": "checklist", + "color": "green" + } + ] +} \ No newline at end of file diff --git a/wellnuoSheme/.history/04_AppStorePublication/2025-12-12T21-45-27.json b/wellnuoSheme/.history/04_AppStorePublication/2025-12-12T21-45-27.json new file mode 100644 index 0000000..53d019b --- /dev/null +++ b/wellnuoSheme/.history/04_AppStorePublication/2025-12-12T21-45-27.json @@ -0,0 +1,575 @@ +{ + "_meta": { + "name": "App Store Publication", + "updatedAt": "2025-12-12T21:45:27.718Z" + }, + "elements": [ + { + "id": "header", + "type": "card", + "title": "WellNuo - App Store Publication", + "borderColor": "purple", + "tags": [ + "overview" + ], + "description": "**Цель:** Опубликовать WellNuo в App Store\n\n**Две фазы:**\n1. **ПОДГОТОВКА** - создать страницы, тексты, материалы\n2. **ПУБЛИКАЦИЯ** - загрузить в App Store Connect\n\n**Контакт:**\nbernhard@wellnuo.com\n+1-408-647-7068", + "x": 140, + "y": 50 + }, + { + "id": "prep_header", + "type": "card", + "title": "📁 ПОДГОТОВКА", + "borderColor": "orange", + "tags": [ + "prep", + "overview" + ], + "description": "**Всё что нужно сделать ДО публикации**\n\n**Разделы:**\n• Страницы сайта (3 URL)\n• App Store тексты\n• Дизайн материалы\n• Технические настройки\n• Demo account\n\n**Сайт:** wellnuo.com", + "x": 920.0125122070312, + "y": -127.84777069091797 + }, + { + "id": "prep_privacy", + "type": "card", + "title": "📄 Privacy Policy", + "borderColor": "red", + "tags": [ + "prep", + "website" + ], + "description": "**URL:** https://wellnuo.com/privacy\n\n**Разделы для страницы:**\n\n1. **Data Collected:** Email, activity data, device info\n\n2. **How Used:** Monitoring, alerts, reports\n\n3. **AI Disclosure:** OpenAI GPT API. Anonymized data only. User consent required.\n\n4. **Sharing:** NO selling. Only: family, legal, providers.\n\n5. **Security:** AES-256 encryption\n\n6. **Rights:** Access, correct, delete\n\n7. **Children:** Not for under 13\n\n**Contact:** privacy@wellnuo.com", + "x": 520, + "y": 150 + }, + { + "id": "prep_terms", + "type": "card", + "title": "📄 Terms of Service", + "borderColor": "red", + "tags": [ + "prep", + "website" + ], + "description": "**URL:** https://wellnuo.com/terms\n\n**Ключевые пункты:**\n\n1. **NOT a medical device** - не замена врачу и 911\n\n2. **Subscriptions** - через Apple, auto-renew\n\n3. **Liability** - не отвечаем за сбои сенсоров\n\n4. **Apple EULA** - ссылка на стандартное\n\n5. **Governing Law** - California, USA\n\n**Contact:** legal@wellnuo.com", + "x": 520, + "y": 350 + }, + { + "id": "prep_support", + "type": "card", + "title": "📄 Support Page", + "borderColor": "red", + "tags": [ + "prep", + "website" + ], + "description": "**URL:** https://wellnuo.com/support\n\n**Контакты:**\nEmail: support@wellnuo.com\nPhone: +1-408-647-7068\nHours: Mon-Fri, 9AM-6PM PST\nResponse: 24-48 hours\n\n**FAQ темы:**\n- Как работает WellNuo?\n- Безопасность данных\n- Отмена подписки\n- Добавление семьи\n- Удаление аккаунта\n\n**Troubleshooting:**\n- Crashes → перезапуск\n- Нет алертов → настройки\n- Сенсоры → Bluetooth", + "x": 520, + "y": 550 + }, + { + "id": "prep_app_name", + "type": "card", + "title": "📋 App Name & Info", + "borderColor": "lime", + "tags": [ + "prep", + "appstore" + ], + "description": "**App Name (30 chars):**\nWellNuo - Senior Care Monitor\n\n**Subtitle (30 chars):**\nElderly Wellness Tracking\n\n**Bundle ID:**\ncom.wellnuo.seniorcare\n\n**SKU:**\nWELLNUO-SENIOR-001\n\n**Primary Category:**\nHealth & Fitness\n\n**Secondary:**\nLifestyle\n\n**Copyright:**\n© 2025 WellNuo Inc.", + "x": 900, + "y": 150 + }, + { + "id": "prep_keywords", + "type": "card", + "title": "📋 Keywords (97/100)", + "borderColor": "lime", + "tags": [ + "prep", + "appstore" + ], + "description": "**КОПИРОВАТЬ:**\n\nsenior care,elderly monitor,family safety,wellness tracker,aging parents,remote care,health alerts\n\n**Правила:**\n- Без пробелов после запятых\n- Без слов из названия\n- Без множественного числа", + "x": 900, + "y": 350 + }, + { + "id": "prep_description", + "type": "card", + "title": "📋 Description", + "borderColor": "lime", + "tags": [ + "prep", + "appstore" + ], + "description": "**КОПИРОВАТЬ:**\n\nCare for your loved ones while preserving their independence. WellNuo is a smart wellness monitoring system designed for elderly family members.\n\nWORRIED ABOUT AGING PARENTS LIVING ALONE?\nWellNuo gives you peace of mind with activity pattern monitoring and instant alerts when something seems unusual.\n\n◆ PRIVACY-FIRST APPROACH\nNo cameras. No microphones. No intrusion.\n\n◆ INSTANT ALERTS\nGet notified immediately when unusual inactivity is detected.\n\n◆ DAILY WELLNESS REPORTS\nTrack trends with easy-to-read reports.\n\n◆ FAMILY SHARING\nConnect the whole family.\n\n◆ AI-POWERED INSIGHTS (Premium)\nSmart analysis detects subtle changes.\n\nFREE:\n• Basic monitoring\n• Emergency alerts\n• 1 family member\n• 7-day history\n\nPREMIUM:\n• Unlimited history\n• AI analysis\n• Unlimited family\n• Priority support\n\nNOT a medical device.\n\nsupport@wellnuo.com\nwellnuo.com", + "x": 900, + "y": 550 + }, + { + "id": "prep_promo", + "type": "card", + "title": "📋 Promotional Text", + "borderColor": "lime", + "tags": [ + "prep", + "appstore" + ], + "description": "**КОПИРОВАТЬ (170 chars max):**\n\nCare for your aging parents with peace of mind. WellNuo monitors wellness patterns without cameras - privacy first approach to elderly care.\n\n*Можно менять без ревью!*", + "x": 1280, + "y": 150 + }, + { + "id": "prep_whats_new", + "type": "card", + "title": "📋 What's New (v1.0)", + "borderColor": "lime", + "tags": [ + "prep", + "appstore" + ], + "description": "**КОПИРОВАТЬ:**\n\nWelcome to WellNuo!\n\n• Real-time activity monitoring\n• Instant alert notifications\n• Daily and weekly wellness reports\n• Family sharing and coordination\n• Privacy-focused design\n• Sign in with Apple support\n\nStart caring smarter today.", + "x": 1280, + "y": 350 + }, + { + "id": "prep_review_notes", + "type": "card", + "title": "📋 Review Notes", + "borderColor": "lime", + "tags": [ + "prep", + "appstore" + ], + "description": "**КОПИРОВАТЬ:**\n\nThis app monitors elderly wellness through activity pattern analysis.\n\nDEMO ACCOUNT:\nThe demo account has 30 days of simulated sensor data. No physical hardware required for testing.\n\nFEATURES TO TEST:\n1. Dashboard - activity overview\n2. Alerts - notifications\n3. Reports - daily/weekly stats\n4. Settings - privacy controls\n5. Family - add members\n\nAI features use OpenAI API (disclosed in privacy policy).\n\nContact: support@wellnuo.com", + "x": 1280, + "y": 550 + }, + { + "id": "prep_demo", + "type": "card", + "title": "🔑 Demo Account", + "borderColor": "green", + "tags": [ + "prep" + ], + "description": "**Для Apple Review:**\n\n**Email:** demo@wellnuo.com\n**Password:** WellNuoDemo2025!\n\n**Требования:**\n- 30 дней симулированных данных\n- Premium подписка активна\n- Все функции работают\n- Без реального оборудования\n\n**Contact:**\nFirst: Bernhard\nLast: Knigge\nPhone: +1-408-647-7068\nEmail: bernhard@wellnuo.com", + "x": 1660, + "y": 150 + }, + { + "id": "prep_screenshots", + "type": "card", + "title": "📱 Screenshots", + "borderColor": "pink", + "tags": [ + "prep", + "design" + ], + "description": "**Размеры:**\n\n**iPhone 6.7\" (обязательно):**\n1290×2796 px\n\n**iPhone 6.5\":**\n1284×2778 px\n\n**iPhone 5.5\" (старые):**\n1242×2208 px\n\n**Экраны (3-10 штук):**\n1. Dashboard\n2. Alerts\n3. Reports\n4. Settings\n5. Family", + "x": 1660, + "y": 350 + }, + { + "id": "prep_icon", + "type": "card", + "title": "🎨 App Icon", + "borderColor": "pink", + "tags": [ + "prep", + "design" + ], + "description": "**Размер:** 1024×1024 PNG\n\n**Требования:**\n- Без прозрачности (no alpha)\n- Без закругленных углов\n- Четко на всех размерах\n\n**Стиль:**\nСердце/забота, градиент синий", + "x": 1660, + "y": 550 + }, + { + "id": "prep_iap", + "type": "card", + "title": "💰 In-App Purchases", + "borderColor": "orange", + "tags": [ + "prep", + "appstore" + ], + "description": "**Monthly:**\nID: com.wellnuo.premium.monthly\nPrice: $4.99/month\nName: WellNuo Premium\nDesc: Unlock unlimited history, AI insights, and family connections.\n\n**Yearly:**\nID: com.wellnuo.premium.yearly\nPrice: $49.99/year\nName: WellNuo Premium (Annual)\nDesc: Save 17% with annual subscription.\n\n**Lifetime:**\nID: com.wellnuo.lifetime\nPrice: $149.99\nName: WellNuo Lifetime\nDesc: One-time purchase for lifetime access.\n\n**Trial:** 7 days", + "x": 2040, + "y": 150 + }, + { + "id": "prep_age_rating", + "type": "card", + "title": "📋 Age Rating (4+)", + "borderColor": "teal", + "tags": [ + "prep", + "appstore" + ], + "description": "**Ответы на вопросник:**\n\nViolence: **None**\nSexual Content: **None**\nProfanity: **None**\nDrugs: **None**\nGambling: **None**\nHorror: **None**\nMedical Info: **Infrequent/Mild**\nWeb Access: **No**\nContests: **No**\n\n**Результат: 4+**", + "x": 2040, + "y": 350 + }, + { + "id": "prep_export", + "type": "card", + "title": "📋 Export Compliance", + "borderColor": "teal", + "tags": [ + "prep", + "appstore" + ], + "description": "**Q: Uses encryption?**\nA: Yes\n\n**Q: Qualifies for exemption?**\nA: Yes - Standard HTTPS/TLS only.\n\nQualifies under Note 4 to Category 5, Part 2 of EAR.\n\nNo custom encryption algorithms.", + "x": 2040, + "y": 550 + }, + { + "id": "prep_info_plist", + "type": "card", + "title": "📋 Info.plist Keys", + "borderColor": "cyan", + "tags": [ + "prep", + "tech" + ], + "description": "**NSLocationWhenInUseUsageDescription:**\nWellNuo uses your location to detect when you arrive home or leave, helping monitor daily activity patterns.\n\n**NSCameraUsageDescription:**\nWellNuo uses the camera to scan QR codes when setting up devices.\n\n**NSHealthShareUsageDescription:**\nWellNuo reads health data to provide wellness monitoring.\n\n**NSUserNotificationsUsageDescription:**\nWellNuo sends notifications about wellness updates.", + "x": 2420, + "y": 150 + }, + { + "id": "prep_privacy_labels", + "type": "card", + "title": "📋 App Privacy Labels", + "borderColor": "cyan", + "tags": [ + "prep", + "appstore" + ], + "description": "**Data Collected:**\n\n✓ Contact Info (Email)\n - Linked: Yes\n - Purpose: App Functionality\n\n✓ Health & Fitness\n - Linked: Yes\n - Purpose: App Functionality\n\n✓ Identifiers (User ID)\n - Linked: Yes\n - Purpose: App Functionality\n\n✓ Usage Data\n - Linked: No\n - Purpose: Analytics\n\n✓ Diagnostics\n - Linked: No\n - Purpose: App Functionality\n\n**Tracking:** No", + "x": 2420, + "y": 350 + }, + { + "id": "prep_build", + "type": "card", + "title": "🔨 Build & TestFlight", + "borderColor": "teal", + "tags": [ + "prep", + "tech" + ], + "description": "**Команды:**\n```\neas build --platform ios\neas submit --platform ios\n```\n\n**Требования:**\n- iOS 17.0+ minimum\n- Xcode 15.2+\n- Без crashes 24ч\n\n**TestFlight:**\n- Internal: до 100 тестеров\n- External: требует Beta Review", + "x": 2420, + "y": 550 + }, + { + "id": "prep_checklist", + "type": "card", + "title": "✅ Checklist Подготовки", + "borderColor": "green", + "tags": [ + "prep", + "checklist" + ], + "description": "**Перед публикацией:**\n\n**Сайт:**\n□ wellnuo.com/privacy работает\n□ wellnuo.com/terms работает\n□ wellnuo.com/support работает\n\n**Материалы:**\n□ Screenshots готовы\n□ App Icon 1024x1024\n□ Все тексты готовы\n\n**Технические:**\n□ Demo account работает\n□ Build в TestFlight\n□ Нет crashes 24ч", + "x": 1017.3814697265625, + "y": 804.5396423339844 + }, + { + "id": "pub_header", + "type": "card", + "title": "🚀 ПУБЛИКАЦИЯ", + "borderColor": "blue", + "tags": [ + "pub", + "overview" + ], + "description": "**App Store Connect**\n\n**URL:** appstoreconnect.apple.com\n\n**Шаги:**\n1. Apple Developer Account\n2. Создание App\n3. Заполнение полей\n4. Submit на Review\n\n**Review Time:** 24-48 часов", + "x": 173.6695556640625, + "y": 1002.0176391601562 + }, + { + "id": "pub_account", + "type": "card", + "title": "👤 Apple Developer Account", + "borderColor": "purple", + "tags": [ + "pub" + ], + "description": "**URL:** developer.apple.com/enroll\n**Стоимость:** $99/год\n\n**Тип:** Organization\n\n**Требуется:**\n- D-U-N-S Number\n- Юр. название компании\n- Website\n- Телефон для верификации\n\n**Время:** 1-7 дней", + "x": 553.6695556640625, + "y": 952.0176391601562 + }, + { + "id": "pub_create", + "type": "card", + "title": "➕ Создание App", + "borderColor": "blue", + "tags": [ + "pub" + ], + "description": "**My Apps → + → New App**\n\n**Заполнить:**\n- Platform: iOS\n- Name: WellNuo - Senior Care Monitor\n- Primary Language: English\n- Bundle ID: com.wellnuo.seniorcare\n- SKU: WELLNUO-SENIOR-001\n\n**User Access:** Full Access", + "x": 553.6695556640625, + "y": 1152.0176391601562 + }, + { + "id": "pub_app_info", + "type": "card", + "title": "📝 App Information", + "borderColor": "blue", + "tags": [ + "pub" + ], + "description": "**Секция App Information:**\n\n**Subtitle:**\nElderly Wellness Tracking\n\n**Category:**\nPrimary: Health & Fitness\nSecondary: Lifestyle\n\n**Content Rights:**\nDoes not contain third-party content\n\n**Age Rating:**\nЗаполнить вопросник → **4+**", + "x": 933.6695556640625, + "y": 952.0176391601562 + }, + { + "id": "pub_pricing", + "type": "card", + "title": "💰 Pricing", + "borderColor": "orange", + "tags": [ + "pub" + ], + "description": "**Schedule → Price:**\nBase Price: **Free**\n\n**Availability:**\nAll territories\n\n**In-App Purchases:**\nСоздать 3 продукта из подготовки\n\n**Subscriptions:**\nГруппа: WellNuo Premium\nTrial: 7 days", + "x": 933.6695556640625, + "y": 1152.0176391601562 + }, + { + "id": "pub_version", + "type": "card", + "title": "📋 Version Info", + "borderColor": "blue", + "tags": [ + "pub" + ], + "description": "**iOS App → 1.0:**\n\n1. **Screenshots** - загрузить\n2. **Promotional Text** - из подготовки\n3. **Description** - из подготовки\n4. **Keywords** - из подготовки\n5. **Support URL** - wellnuo.com/support\n6. **Marketing URL** - wellnuo.com\n7. **What's New** - из подготовки\n8. **Build** - выбрать из TestFlight", + "x": 1313.6695556640625, + "y": 952.0176391601562 + }, + { + "id": "pub_review", + "type": "card", + "title": "🔍 App Review", + "borderColor": "green", + "tags": [ + "pub" + ], + "description": "**Sign-In Required:** Yes\n\n**Demo Account:**\nEmail: demo@wellnuo.com\nPassword: WellNuoDemo2025!\n\n**Contact:**\nFirst: Bernhard\nLast: Knigge\nPhone: +1-408-647-7068\nEmail: bernhard@wellnuo.com\n\n**Notes:** вставить из подготовки", + "x": 1313.6695556640625, + "y": 1152.0176391601562 + }, + { + "id": "pub_privacy", + "type": "card", + "title": "🔒 App Privacy", + "borderColor": "red", + "tags": [ + "pub" + ], + "description": "**Privacy Policy URL:**\nhttps://wellnuo.com/privacy\n\n**Data Collection:**\nЗаполнить по чеклисту из App Privacy Labels\n\n**Tracking:** No\n\n**Third-Party SDKs:**\nOpenAI API (disclosed)", + "x": 1693.6695556640625, + "y": 952.0176391601562 + }, + { + "id": "pub_submit", + "type": "card", + "title": "📤 Submit", + "borderColor": "lime", + "tags": [ + "pub" + ], + "description": "**Финальные шаги:**\n\n1. ✓ Все поля заполнены\n2. ✓ URLs работают\n3. ✓ Build выбран\n4. ✓ Screenshots загружены\n5. **Add for Review**\n6. **Submit to App Review**\n\n**Review:** 24-48 часов\n**Release:** Automatic", + "x": 1693.6695556640625, + "y": 1152.0176391601562 + } + ], + "connections": [ + { + "from": "header", + "to": "prep_header", + "label": "1" + }, + { + "from": "header", + "to": "pub_header", + "label": "2" + }, + { + "from": "prep_header", + "to": "prep_privacy" + }, + { + "from": "prep_header", + "to": "prep_app_name" + }, + { + "from": "prep_header", + "to": "prep_demo" + }, + { + "from": "prep_header", + "to": "prep_iap" + }, + { + "from": "prep_header", + "to": "prep_info_plist" + }, + { + "from": "prep_privacy", + "to": "prep_terms" + }, + { + "from": "prep_terms", + "to": "prep_support" + }, + { + "from": "prep_app_name", + "to": "prep_keywords" + }, + { + "from": "prep_keywords", + "to": "prep_description" + }, + { + "from": "prep_description", + "to": "prep_promo" + }, + { + "from": "prep_promo", + "to": "prep_whats_new" + }, + { + "from": "prep_whats_new", + "to": "prep_review_notes" + }, + { + "from": "prep_demo", + "to": "prep_screenshots" + }, + { + "from": "prep_screenshots", + "to": "prep_icon" + }, + { + "from": "prep_iap", + "to": "prep_age_rating" + }, + { + "from": "prep_age_rating", + "to": "prep_export" + }, + { + "from": "prep_info_plist", + "to": "prep_privacy_labels" + }, + { + "from": "prep_privacy_labels", + "to": "prep_build" + }, + { + "from": "prep_support", + "to": "prep_checklist" + }, + { + "from": "prep_review_notes", + "to": "prep_checklist" + }, + { + "from": "prep_icon", + "to": "prep_checklist" + }, + { + "from": "prep_export", + "to": "prep_checklist" + }, + { + "from": "prep_build", + "to": "prep_checklist" + }, + { + "from": "prep_checklist", + "to": "pub_header", + "label": "Готово →" + }, + { + "from": "pub_header", + "to": "pub_account" + }, + { + "from": "pub_account", + "to": "pub_create" + }, + { + "from": "pub_create", + "to": "pub_app_info" + }, + { + "from": "pub_app_info", + "to": "pub_pricing" + }, + { + "from": "pub_app_info", + "to": "pub_version" + }, + { + "from": "pub_version", + "to": "pub_review" + }, + { + "from": "pub_review", + "to": "pub_privacy" + }, + { + "from": "pub_pricing", + "to": "pub_privacy" + }, + { + "from": "pub_privacy", + "to": "pub_submit" + } + ], + "tagsDictionary": [ + { + "id": "tag-overview", + "name": "overview", + "color": "purple" + }, + { + "id": "tag-prep", + "name": "prep", + "color": "orange" + }, + { + "id": "tag-pub", + "name": "pub", + "color": "blue" + }, + { + "id": "tag-website", + "name": "website", + "color": "red" + }, + { + "id": "tag-appstore", + "name": "appstore", + "color": "lime" + }, + { + "id": "tag-design", + "name": "design", + "color": "pink" + }, + { + "id": "tag-tech", + "name": "tech", + "color": "teal" + }, + { + "id": "tag-checklist", + "name": "checklist", + "color": "green" + } + ] +} \ No newline at end of file diff --git a/wellnuoSheme/00_MainScheme.json b/wellnuoSheme/00_MainScheme.json index 7a019aa..4a95179 100644 --- a/wellnuoSheme/00_MainScheme.json +++ b/wellnuoSheme/00_MainScheme.json @@ -1,7 +1,7 @@ { "_meta": { "name": "Main", - "updatedAt": "2025-12-12T23:00:00.000Z" + "updatedAt": "2025-12-12T21:41:10.294Z" }, "elements": [ { @@ -25,31 +25,44 @@ "type": "card", "title": "Questions", "description": "/Users/sergei/Desktop/WellNuo/wellnuoSheme/03_DiscussionQuestions.json", - "x": 520, - "y": 192 + "x": 515.8040161132812, + "y": 378.204833984375 }, { "id": "scheme-appstore", "type": "card", "title": "App Store Publication - WellNuo", "description": "/Users/sergei/Desktop/WellNuo/wellnuoSheme/04_AppStorePublication.json", - "x": 520, - "y": 307 + "x": 508.95477294921875, + "y": 478.3477478027344, + "tags": [] }, { "id": "scheme-sysanal", "type": "card", "title": "SysAnal", "description": "/Users/sergei/Desktop/WellNuo/wellnuoSheme/SysAnal.json", - "x": 520, - "y": 422 + "x": 554.7333984375, + "y": 169.93504333496094 } ], "connections": [ - {"from": "root", "to": "scheme-env"}, - {"from": "root", "to": "scheme-questions"}, - {"from": "root", "to": "scheme-appstore"}, - {"from": "root", "to": "scheme-sysanal"} + { + "from": "root", + "to": "scheme-env" + }, + { + "from": "root", + "to": "scheme-questions" + }, + { + "from": "root", + "to": "scheme-appstore" + }, + { + "from": "root", + "to": "scheme-sysanal" + } ], "tagsDictionary": [] -} +} \ No newline at end of file diff --git a/wellnuoSheme/04_AppStorePublication.json b/wellnuoSheme/04_AppStorePublication.json index 120dc7a..53d019b 100644 --- a/wellnuoSheme/04_AppStorePublication.json +++ b/wellnuoSheme/04_AppStorePublication.json @@ -1,797 +1,533 @@ { "_meta": { - "name": "App Store Publication - WellNuo", - "updatedAt": "2025-12-13T00:00:00.000Z", - "version": "3.0 - Complete Copy-Paste Ready" + "name": "App Store Publication", + "updatedAt": "2025-12-12T21:45:27.718Z" }, "elements": [ { - "id": "main_header", + "id": "header", "type": "card", - "title": "WellNuo App Store Publication", + "title": "WellNuo - App Store Publication", "borderColor": "purple", "tags": [ "overview" ], - "description": "Система мониторинга благополучия пожилых людей\n\n**Продукт:** Мобильное приложение для удаленного мониторинга\n**Категория:** Health & Fitness / Medical\n**Рейтинг:** 4+ (без ограничений)\n\n**Ключевая ценность:**\nПозволяет семьям заботиться о пожилых родственниках без нарушения их приватности", + "description": "**Цель:** Опубликовать WellNuo в App Store\n\n**Две фазы:**\n1. **ПОДГОТОВКА** - создать страницы, тексты, материалы\n2. **ПУБЛИКАЦИЯ** - загрузить в App Store Connect\n\n**Контакт:**\nbernhard@wellnuo.com\n+1-408-647-7068", "x": 140, - "y": 307.5 + "y": 50 }, { - "id": "phase_1_preparation", + "id": "prep_header", "type": "card", - "title": "PHASE 1: Подготовка документов", - "borderColor": "purple", - "tags": [ - "checklist", - "phase1" - ], - "description": "**Срок: Неделя 1**\n\n□ Apple Developer Account ($99/год)\n□ App Store Connect настройка\n□ Bundle ID регистрация\n□ Сертификаты и профили\n□ Privacy Policy страница\n□ Terms of Service страница\n□ Support URL страница\n□ Marketing URL (wellnuo.com)", - "x": 520, - "y": 307.5 - }, - { - "id": "developer_account", - "type": "card", - "title": "Apple Developer Account", - "borderColor": "purple", - "tags": [ - "phase1", - "setup" - ], - "description": "**Тип:** Organization (рекомендуется)\n**Стоимость:** $99/год\n**URL:** developer.apple.com/enroll\n\n**Требования для Organization:**\n- D-U-N-S Number (бесплатно)\n- Юридическое название компании\n- Адрес регистрации\n- Website компании\n- Телефон для верификации\n\n**Время регистрации:** 1-7 дней", - "x": 900, - "y": 77.5 - }, - { - "id": "bundle_id_sku", - "type": "card", - "title": "Bundle ID & SKU", - "borderColor": "purple", - "tags": [ - "phase1", - "setup" - ], - "description": "**Bundle ID:** com.wellnuo.seniorcare\n**SKU:** WELLNUO-SENIOR-001\n\n**Capabilities (включить):**\n- Push Notifications\n- Background Modes\n- HealthKit (если интеграция)\n- Sign in with Apple\n\n**Настройка:**\nCertificates, IDs & Profiles → Identifiers → +", - "x": 1280, - "y": 77.5 - }, - { - "id": "certificates", - "type": "card", - "title": "Сертификаты и Provisioning", - "borderColor": "teal", - "tags": [ - "phase1", - "setup" - ], - "description": "**Для публикации:**\n\n1. **Distribution Certificate**\n - iOS Distribution (App Store)\n - Создать в Keychain Access\n\n2. **Provisioning Profile**\n - App Store Distribution\n - Привязать к Bundle ID\n\n**Для EAS Build (Expo):**\neas credentials → Automatic", - "x": 1660, - "y": 77.5 - }, - { - "id": "phase_2_content", - "type": "card", - "title": "PHASE 2: Контент и материалы", - "borderColor": "pink", - "tags": [ - "checklist", - "phase2" - ], - "description": "**Срок: Неделя 2**\n\n□ App Icon (все размеры)\n□ Screenshots (все устройства)\n□ App Preview Video (опционально)\n□ App Store Description\n□ Keywords (100 символов)\n□ What's New текст\n□ Promotional Text\n□ Support информация", - "x": 900, - "y": 365 - }, - { - "id": "app_icon_specs", - "type": "card", - "title": "App Icon - Спецификации", - "borderColor": "pink", - "tags": [ - "phase2", - "design" - ], - "description": "**Главная иконка:**\n1024x1024 PNG (без альфа-канала)\n\n**Требования Apple:**\n- Без прозрачности\n- Без закругленных углов (система сама)\n- Четкое изображение на всех размерах\n\n**Дизайн WellNuo:**\n- Символ сердца/заботы\n- Градиент: #4A90E2 → #7B68EE\n- Простой, узнаваемый", - "x": 1280, - "y": 192.5 - }, - { - "id": "screenshots_specs", - "type": "card", - "title": "Screenshots - Размеры", - "borderColor": "pink", - "tags": [ - "phase2", - "design" - ], - "description": "**iPhone обязательные:**\n• 6.9\" Pro Max: 1320×2868\n• 6.7\" Plus: 1290×2796\n• 6.5\" Max: 1284×2778\n• 5.5\" (для старых): 1242×2208\n\n**iPad (если поддержка):**\n• 12.9\" Pro: 2048×2732\n• 11\" Pro: 1668×2388\n\n**Количество:** 3-10 на устройство", - "x": 1660, - "y": 192.5 - }, - { - "id": "screenshots_content", - "type": "card", - "title": "Screenshots - Содержание", - "borderColor": "pink", - "tags": [ - "phase2", - "design" - ], - "description": "**Рекомендуемый порядок:**\n\n1. **Dashboard** - мониторинг\n \"Следите за благополучием близких\"\n\n2. **Оповещения** - уведомления\n \"Мгновенные уведомления\"\n\n3. **Отчеты** - статистика\n \"Ежедневные отчеты\"\n\n4. **Настройки** - приватность\n \"Полный контроль приватности\"\n\n5. **Семья** - пользователи\n \"Вся семья на связи\"", - "x": 2040, - "y": 192.5 - }, - { - "id": "app_preview_video", - "type": "card", - "title": "App Preview Video", - "borderColor": "pink", - "tags": [ - "phase2", - "design" - ], - "description": "**Формат:** H.264, M4V/MP4/MOV\n**Длительность:** 15-30 секунд\n**Звук:** Опционально\n\n**Размеры:**\n• 6.5\": 886×1920\n• iPad: 1200×1600\n\n**Структура:**\n0-5с: Логотип + проблема\n5-15с: Демо основных функций\n15-25с: Решение + результат\n25-30с: Call-to-action", - "x": 2420, - "y": 192.5 - }, - { - "id": "app_name_subtitle", - "type": "card", - "title": "App Name & Subtitle", - "borderColor": "blue", - "tags": [ - "phase2", - "aso" - ], - "description": "**App Name (30 символов max):**\nWellNuo - Senior Care Monitor\n\n**Subtitle (30 символов max):**\nElderly Wellness Tracking\n\n**Альтернативы:**\n- WellNuo: Family Care App\n- WellNuo - Elder Monitoring\n\n**Правила:**\n- Без generic слов (app, best, #1)\n- Уникальное, запоминающееся", - "x": 2800, - "y": 192.5 - }, - { - "id": "keywords_aso", - "type": "card", - "title": "Keywords (100 символов)", - "borderColor": "blue", - "tags": [ - "phase2", - "aso" - ], - "description": "**Keywords:**\nsenior care,elderly monitor,family safety,wellness tracker,aging parents,remote care,health alerts,activity monitor,caregiver app,independent living\n\n**Символов:** 98/100\n\n**Правила:**\n- Запятая без пробела\n- Без повторов из названия\n- Без множественного числа", - "x": 3180, - "y": 192.5 - }, - { - "id": "description_full", - "type": "card", - "title": "App Store Description", - "borderColor": "blue", - "tags": [ - "phase2", - "aso" - ], - "description": "**Структура (4000 символов):**\n\n**Hook (видно без раскрытия):**\nПозаботьтесь о своих близких, сохраняя их независимость. WellNuo - умная система мониторинга благополучия пожилых без камер.\n\n**Проблема:**\nБеспокоитесь о пожилых родителях?\n\n**Решение:**\nWellNuo использует сенсоры...\n\n**Features:** (буллеты)\n**CTA:** Скачайте бесплатно!", - "x": 3560, - "y": 192.5 - }, - { - "id": "phase_3_legal", - "type": "card", - "title": "PHASE 3: Юридические документы", - "borderColor": "red", - "tags": [ - "checklist", - "phase3", - "legal" - ], - "description": "**КРИТИЧЕСКИ ВАЖНО для Apple:**\n\n□ Privacy Policy (обязательно)\n□ Terms of Service (обязательно)\n□ Support URL (обязательно)\n□ GDPR Compliance\n□ CCPA Compliance\n□ Data Retention Policy\n□ Third-Party AI Disclosure (NEW 2025!)", - "x": 1280, - "y": 422.5 - }, - { - "id": "privacy_policy_structure", - "type": "card", - "title": "Privacy Policy - Структура", - "borderColor": "red", - "tags": [ - "phase3", - "legal" - ], - "description": "**URL:** wellnuo.com/privacy\n\n**Обязательные разделы (Apple 2025):**\n\n1. **Сбор данных** - что собираем\n2. **Использование** - как используем\n3. **Третьи стороны** - кому передаем\n4. **AI Disclosure** - использование AI (NEW!)\n5. **Хранение** - как долго храним\n6. **Безопасность** - как защищаем\n7. **Права пользователя** - как удалить\n8. **Дети** - политика для детей\n9. **Изменения** - как уведомляем\n10. **Контакты** - как связаться", - "x": 1660, - "y": 307.5 - }, - { - "id": "ai_disclosure_new", - "type": "card", - "title": "⚠️ AI Third-Party Disclosure (NEW 2025)", - "borderColor": "red", - "tags": [ - "phase3", - "legal", - "critical" - ], - "description": "**НОВОЕ ТРЕБОВАНИЕ Apple Nov 2025:**\n\n\"Must clearly disclose where personal data will be shared with third-party AI\"\n\n**Для WellNuo указать:**\n\n1. **Используемые AI сервисы:**\n - OpenAI GPT API\n - OpenRouter API\n\n2. **Какие данные передаются:**\n - Обезличенные паттерны активности\n - Никаких персональных данных\n\n3. **Явное согласие:**\n - Prompt при первом запуске\n - Настройка в Settings", - "x": 2040, - "y": 307.5 - }, - { - "id": "terms_of_service", - "type": "card", - "title": "Terms of Service - Структура", - "borderColor": "red", - "tags": [ - "phase3", - "legal" - ], - "description": "**URL:** wellnuo.com/terms\n\n**Разделы:**\n\n1. Принятие условий\n2. Описание сервиса\n3. Регистрация и аккаунт\n4. Подписка и оплата\n5. Возвраты (Apple policy)\n6. Ограничение ответственности\n7. Интеллектуальная собственность\n8. Запрещенные действия\n9. Прекращение использования\n10. Применимое право\n11. Контакты\n\n**Важно:** Ссылка на Apple EULA", - "x": 2420, - "y": 307.5 - }, - { - "id": "support_url_page", - "type": "card", - "title": "Support URL - Страница", - "borderColor": "red", - "tags": [ - "phase3", - "legal" - ], - "description": "**URL:** wellnuo.com/support\n\n**Содержание:**\n\n1. **FAQ** - частые вопросы\n2. **Guides** - как начать\n3. **Troubleshooting** - решение проблем\n4. **Contact Form** - форма обращения\n5. **Email:** support@wellnuo.com\n6. **Phone:** +1-408-647-7068\n7. **Response Time:** 24-48 часов\n\n**Требование Apple:**\nОбязательно рабочий контакт!", - "x": 2800, - "y": 307.5 - }, - { - "id": "phase_4_technical", - "type": "card", - "title": "PHASE 4: Технические требования", - "borderColor": "teal", - "tags": [ - "checklist", - "phase4" - ], - "description": "**Перед сабмитом:**\n\n□ iOS 17.0+ minimum\n□ Built with Xcode 15.2+\n□ SDK iOS 18 (с апреля 2025)\n□ ARM64 architecture\n□ No private APIs\n□ No crashes (TestFlight)\n□ IPv6 support\n□ ATS (App Transport Security)\n□ Code signing", - "x": 1660, - "y": 480 - }, - { - "id": "permissions_usage", - "type": "card", - "title": "Permissions & Usage Descriptions", - "borderColor": "teal", - "tags": [ - "phase4", - "backend" - ], - "description": "**Info.plist описания (обязательно!):**\n\n**NSLocationWhenInUseUsageDescription:**\n\"WellNuo needs location to detect when you leave or arrive home for activity monitoring.\"\n\n**NSCameraUsageDescription:**\n\"WellNuo uses camera to scan QR codes for device setup.\"\n\n**NSHealthShareUsageDescription:**\n\"WellNuo reads health data to monitor your wellness status.\"\n\n**Правило:** Конкретная причина!", - "x": 2040, - "y": 422.5 - }, - { - "id": "app_privacy_labels", - "type": "card", - "title": "App Privacy Labels (Nutrition)", - "borderColor": "teal", - "tags": [ - "phase4", - "legal" - ], - "description": "**Data Linked to You:**\n- Contact Info (Email) - YES\n- Health & Fitness - YES\n- Location - YES (if used)\n\n**Data Not Linked to You:**\n- Usage Data - YES\n- Diagnostics - YES\n\n**Data Collection Purposes:**\n- App Functionality\n- Analytics (anonymized)\n\n**ВАЖНО:** Должно соответствовать Privacy Policy!", - "x": 2420, - "y": 422.5 - }, - { - "id": "export_compliance", - "type": "card", - "title": "Export Compliance (ECCN)", - "borderColor": "teal", - "tags": [ - "phase4", - "legal" - ], - "description": "**Вопрос Apple:**\n\"Does your app use encryption?\"\n\n**Для WellNuo: YES**\n- HTTPS/TLS для API\n- Secure storage\n\n**Но exemption доступен если:**\n- Стандартное HTTPS\n- Не кастомный encryption\n- Стандартные iOS APIs\n\n**Ответ:**\n\"Yes, qualifies for exemption under:\nNote 4 to Category 5, Part 2\"", - "x": 2800, - "y": 422.5 - }, - { - "id": "age_rating", - "type": "card", - "title": "Age Rating Questionnaire", - "borderColor": "teal", - "tags": [ - "phase4" - ], - "description": "**Для WellNuo (Health App):**\n\n**Violence:** None\n**Sexual Content:** None\n**Profanity:** None\n**Drug Reference:** None\n**Gambling:** None\n**Horror:** None\n**Medical Info:** Infrequent/Mild ✓\n**User Generated Content:** None\n\n**Результат:** 4+ (все возрасты)", - "x": 3180, - "y": 422.5 - }, - { - "id": "iap_configuration", - "type": "card", - "title": "In-App Purchases Setup", + "title": "📁 ПОДГОТОВКА", "borderColor": "orange", "tags": [ - "phase4", - "external" - ], - "description": "**Product IDs:**\n\n1. **com.wellnuo.premium.monthly**\n Type: Auto-Renewable\n Price: $4.99/month\n\n2. **com.wellnuo.premium.yearly**\n Type: Auto-Renewable\n Price: $49.99/year (Save 17%)\n\n3. **com.wellnuo.lifetime**\n Type: Non-Consumable\n Price: $149.99\n\n**Free Trial:** 7 дней", - "x": 3560, - "y": 422.5 - }, - { - "id": "review_notes", - "type": "card", - "title": "App Review Notes", - "borderColor": "teal", - "tags": [ - "phase4" - ], - "description": "**Для ревьюера Apple:**\n\n**Demo Account:**\nEmail: demo@wellnuo.com\nPassword: WellNuoDemo2025!\n\n**Notes:**\n\"This app monitors elderly wellness through environmental sensors. The demo account shows simulated sensor data.\n\nKey features:\n1. Dashboard - activity overview\n2. Alerts - notification system\n3. Reports - daily/weekly stats\n4. Settings - privacy controls\n\nAI features use OpenAI API (disclosed in privacy policy).\"", - "x": 3940, - "y": 422.5 - }, - { - "id": "phase_5_submit", - "type": "card", - "title": "PHASE 5: Submission Checklist", - "borderColor": "green", - "tags": [ - "checklist", - "phase5" - ], - "description": "**Финальная проверка:**\n\n**App Store Connect:**\n□ All metadata filled\n□ Screenshots uploaded\n□ App Preview (optional)\n□ Privacy Policy URL works\n□ Support URL works\n□ Categories selected\n□ Age rating completed\n□ Pricing set\n□ IAP configured\n□ App Privacy filled\n\n**Build:**\n□ TestFlight tested\n□ No crashes in 24h\n□ Demo account ready", - "x": 2040, - "y": 537.5 - }, - { - "id": "common_rejections", - "type": "card", - "title": "Common Rejection Reasons", - "borderColor": "red", - "tags": [ - "phase5" - ], - "description": "**Избегать:**\n\n**2.1 App Completeness:**\n- Placeholder контент\n- Broken links, Crashes\n\n**2.3 Accurate Metadata:**\n- Screenshots не соответствуют\n\n**3.1.1 In-App Purchase:**\n- IAP не работает\n\n**5.1.1 Data Collection:**\n- Privacy Policy не соответствует\n\n**5.1.2 Data Use:**\n- AI disclosure отсутствует (NEW!)\n\n**4.2 Minimum Functionality:**\n- Недостаточно функций", - "x": 2420, - "y": 537.5 - }, - { - "id": "review_timeline", - "type": "card", - "title": "Review Timeline", - "borderColor": "gray", - "tags": [ - "phase5", - "timeline" - ], - "description": "**Обычный review:**\n24-48 часов (90% apps)\n\n**Expedited Review (запрос):**\n- Critical bug fix\n- Time-sensitive event\n\n**После одобрения:**\n- Automatic release\n- Manual release (выбрать дату)\n- Phased release (7 дней)\n\n**Если rejection:**\n- Прочитать причину\n- Исправить\n- Resubmit или Appeal", - "x": 2800, - "y": 537.5 - }, - { - "id": "testflight_beta", - "type": "card", - "title": "TestFlight Beta Testing", - "borderColor": "green", - "tags": [ - "phase4" - ], - "description": "**Internal Testing:**\n- До 100 тестеров\n- Без Apple review\n- Мгновенный доступ\n\n**External Testing:**\n- До 10,000 тестеров\n- Требует Beta Review (24-48ч)\n- Public link возможен\n\n**Длительность:** 90 дней max\n\n**Рекомендация:**\n2 недели external beta перед submit", - "x": 4320, - "y": 422.5 - }, - { - "id": "post_launch", - "type": "card", - "title": "Post-Launch Actions", - "borderColor": "blue", - "tags": [ - "phase5", - "marketing" - ], - "description": "**Сразу после публикации:**\n\n1. **Мониторинг:**\n - Crash reports\n - Reviews, Downloads\n\n2. **Marketing:**\n - Press release\n - Social media\n - Product Hunt\n\n3. **ASO Optimization:**\n - A/B test screenshots\n - Keywords analysis\n\n4. **Updates Plan:**\n - Bug fixes (1.0.1)\n - Feature updates (1.1)", - "x": 3180, - "y": 537.5 - }, - { - "id": "localization", - "type": "card", - "title": "Localization Strategy", - "borderColor": "blue", - "tags": [ - "phase2", - "marketing" - ], - "description": "**Приоритетные языки:**\n\n1. **English (US)** - Primary\n2. **Spanish** - Latin America\n3. **German** - Europe\n4. **French** - Europe/Canada\n5. **Chinese Simplified**\n6. **Japanese**\n\n**Локализовать:**\n- App Store description\n- Screenshots text\n- Keywords (разные!)\n- What's New", - "x": 4700, - "y": 422.5 - }, - { - "id": "analytics_setup", - "type": "card", - "title": "Analytics Setup", - "borderColor": "gray", - "tags": [ - "phase5", + "prep", "overview" ], - "description": "**App Store Connect:**\n- Impressions\n- Downloads\n- Sales, Retention\n\n**In-App Analytics:**\n- Firebase Analytics\n- Amplitude / Mixpanel\n\n**Key Metrics:**\n- DAU/MAU\n- Session duration\n- Feature usage\n- Subscription conversion\n- Churn rate", - "x": 5080, - "y": 422.5 + "description": "**Всё что нужно сделать ДО публикации**\n\n**Разделы:**\n• Страницы сайта (3 URL)\n• App Store тексты\n• Дизайн материалы\n• Технические настройки\n• Demo account\n\n**Сайт:** wellnuo.com", + "x": 920.0125122070312, + "y": -127.84777069091797 }, { - "id": "automation_cicd", + "id": "prep_privacy", "type": "card", - "title": "Automation & CI/CD", - "borderColor": "teal", + "title": "📄 Privacy Policy", + "borderColor": "red", "tags": [ - "phase4", - "backend" + "prep", + "website" ], - "description": "**EAS Build (Expo):**\neas build --platform ios\neas submit --platform ios\n\n**Fastlane:**\n- match (certificates)\n- pilot (TestFlight)\n- deliver (App Store)\n\n**GitHub Actions:**\n- Auto build on push\n- Auto submit to TestFlight\n\n**App Store Connect API:**\n- API Key в App Store Connect", - "x": 5460, - "y": 422.5 - }, - { - "id": "launch_timeline", - "type": "card", - "title": "Launch Timeline", - "borderColor": "purple", - "tags": [ - "timeline" - ], - "description": "**Week 1:** Документы и аккаунты\n**Week 2:** Контент и материалы\n**Week 3:** Юридические документы\n**Week 4:** Техническая подготовка\n**Week 5-6:** TestFlight Beta\n**Week 7:** Submit to App Store\n**Week 8:** Review + Launch\n\n**Итого:** ~8 недель до публикации", - "x": 5840, - "y": 422.5 - }, - { - "id": "copy_section_header", - "type": "card", - "title": "📋 COPY-PASTE SECTION", - "borderColor": "lime", - "tags": ["copypaste", "overview"], - "description": "**ВСЕ ТЕКСТЫ ДЛЯ КОПИРОВАНИЯ**\n\nНиже - готовые тексты для:\n\n• App Store Connect\n• Privacy Policy\n• Terms of Service\n• Support Page\n• Info.plist\n• Review Notes\n\n**Просто копируй и вставляй!**", - "x": 140, - "y": 700 - }, - { - "id": "copy_app_info", - "type": "card", - "title": "📋 App Store Connect - Basic Info", - "borderColor": "lime", - "tags": ["copypaste"], - "description": "**App Name (30 chars max):**\nWellNuo - Senior Care Monitor\n\n**Subtitle (30 chars max):**\nElderly Wellness Tracking\n\n**Bundle ID:**\ncom.wellnuo.seniorcare\n\n**SKU:**\nWELLNUO-SENIOR-001\n\n**Primary Category:**\nHealth & Fitness\n\n**Secondary Category:**\nLifestyle\n\n**Copyright:**\n© 2025 WellNuo Inc.", + "description": "**URL:** https://wellnuo.com/privacy\n\n**Разделы для страницы:**\n\n1. **Data Collected:** Email, activity data, device info\n\n2. **How Used:** Monitoring, alerts, reports\n\n3. **AI Disclosure:** OpenAI GPT API. Anonymized data only. User consent required.\n\n4. **Sharing:** NO selling. Only: family, legal, providers.\n\n5. **Security:** AES-256 encryption\n\n6. **Rights:** Access, correct, delete\n\n7. **Children:** Not for under 13\n\n**Contact:** privacy@wellnuo.com", "x": 520, - "y": 700 + "y": 150 }, { - "id": "copy_keywords", + "id": "prep_terms", "type": "card", - "title": "📋 Keywords (100 chars)", + "title": "📄 Terms of Service", + "borderColor": "red", + "tags": [ + "prep", + "website" + ], + "description": "**URL:** https://wellnuo.com/terms\n\n**Ключевые пункты:**\n\n1. **NOT a medical device** - не замена врачу и 911\n\n2. **Subscriptions** - через Apple, auto-renew\n\n3. **Liability** - не отвечаем за сбои сенсоров\n\n4. **Apple EULA** - ссылка на стандартное\n\n5. **Governing Law** - California, USA\n\n**Contact:** legal@wellnuo.com", + "x": 520, + "y": 350 + }, + { + "id": "prep_support", + "type": "card", + "title": "📄 Support Page", + "borderColor": "red", + "tags": [ + "prep", + "website" + ], + "description": "**URL:** https://wellnuo.com/support\n\n**Контакты:**\nEmail: support@wellnuo.com\nPhone: +1-408-647-7068\nHours: Mon-Fri, 9AM-6PM PST\nResponse: 24-48 hours\n\n**FAQ темы:**\n- Как работает WellNuo?\n- Безопасность данных\n- Отмена подписки\n- Добавление семьи\n- Удаление аккаунта\n\n**Troubleshooting:**\n- Crashes → перезапуск\n- Нет алертов → настройки\n- Сенсоры → Bluetooth", + "x": 520, + "y": 550 + }, + { + "id": "prep_app_name", + "type": "card", + "title": "📋 App Name & Info", "borderColor": "lime", - "tags": ["copypaste", "aso"], - "description": "**COPY THIS (97 chars):**\n\nsenior care,elderly monitor,family safety,wellness tracker,aging parents,remote care,health alerts\n\n**НЕ ДОБАВЛЯТЬ:**\n- Пробелы после запятых\n- Слова из названия app\n- Множественное число", + "tags": [ + "prep", + "appstore" + ], + "description": "**App Name (30 chars):**\nWellNuo - Senior Care Monitor\n\n**Subtitle (30 chars):**\nElderly Wellness Tracking\n\n**Bundle ID:**\ncom.wellnuo.seniorcare\n\n**SKU:**\nWELLNUO-SENIOR-001\n\n**Primary Category:**\nHealth & Fitness\n\n**Secondary:**\nLifestyle\n\n**Copyright:**\n© 2025 WellNuo Inc.", "x": 900, - "y": 700 + "y": 150 }, { - "id": "copy_promo_text", + "id": "prep_keywords", "type": "card", - "title": "📋 Promotional Text (170 chars)", + "title": "📋 Keywords (97/100)", "borderColor": "lime", - "tags": ["copypaste"], - "description": "**COPY THIS:**\n\nCare for your aging parents with peace of mind. WellNuo monitors wellness patterns without cameras - privacy first approach to elderly care.\n\n**Символов:** 138/170\n\n*Можно менять без ревью!*", + "tags": [ + "prep", + "appstore" + ], + "description": "**КОПИРОВАТЬ:**\n\nsenior care,elderly monitor,family safety,wellness tracker,aging parents,remote care,health alerts\n\n**Правила:**\n- Без пробелов после запятых\n- Без слов из названия\n- Без множественного числа", + "x": 900, + "y": 350 + }, + { + "id": "prep_description", + "type": "card", + "title": "📋 Description", + "borderColor": "lime", + "tags": [ + "prep", + "appstore" + ], + "description": "**КОПИРОВАТЬ:**\n\nCare for your loved ones while preserving their independence. WellNuo is a smart wellness monitoring system designed for elderly family members.\n\nWORRIED ABOUT AGING PARENTS LIVING ALONE?\nWellNuo gives you peace of mind with activity pattern monitoring and instant alerts when something seems unusual.\n\n◆ PRIVACY-FIRST APPROACH\nNo cameras. No microphones. No intrusion.\n\n◆ INSTANT ALERTS\nGet notified immediately when unusual inactivity is detected.\n\n◆ DAILY WELLNESS REPORTS\nTrack trends with easy-to-read reports.\n\n◆ FAMILY SHARING\nConnect the whole family.\n\n◆ AI-POWERED INSIGHTS (Premium)\nSmart analysis detects subtle changes.\n\nFREE:\n• Basic monitoring\n• Emergency alerts\n• 1 family member\n• 7-day history\n\nPREMIUM:\n• Unlimited history\n• AI analysis\n• Unlimited family\n• Priority support\n\nNOT a medical device.\n\nsupport@wellnuo.com\nwellnuo.com", + "x": 900, + "y": 550 + }, + { + "id": "prep_promo", + "type": "card", + "title": "📋 Promotional Text", + "borderColor": "lime", + "tags": [ + "prep", + "appstore" + ], + "description": "**КОПИРОВАТЬ (170 chars max):**\n\nCare for your aging parents with peace of mind. WellNuo monitors wellness patterns without cameras - privacy first approach to elderly care.\n\n*Можно менять без ревью!*", "x": 1280, - "y": 700 + "y": 150 }, { - "id": "copy_description_full", - "type": "card", - "title": "📋 Full Description (English)", - "borderColor": "lime", - "tags": ["copypaste"], - "description": "**COPY THIS:**\n\nCare for your loved ones while preserving their independence. WellNuo is a smart wellness monitoring system designed for elderly family members.\n\nWORRIED ABOUT AGING PARENTS LIVING ALONE?\nWellNuo gives you peace of mind with activity pattern monitoring and instant alerts when something seems unusual.\n\n◆ PRIVACY-FIRST APPROACH\nNo cameras. No microphones. No intrusion. We use environmental sensors and smart algorithms to understand daily patterns respectfully.\n\n◆ INSTANT ALERTS\nGet notified immediately when unusual inactivity is detected. Stay informed without constant checking.\n\n◆ DAILY WELLNESS REPORTS\nTrack trends with easy-to-read daily, weekly, and monthly reports. Understand patterns over time.\n\n◆ FAMILY SHARING\nConnect the whole family - everyone stays informed. Share responsibilities and peace of mind.\n\n◆ AI-POWERED INSIGHTS (Premium)\nSmart analysis detects subtle changes in routine that may indicate health concerns before they become serious.\n\nFREE FEATURES:\n• Basic activity monitoring\n• Emergency alerts\n• 1 family member connection\n• 7-day history\n\nPREMIUM SUBSCRIPTION:\n• Unlimited activity history\n• AI pattern analysis\n• Unlimited family connections\n• Priority support\n• Advanced reports\n\nWellNuo is NOT a medical device and should not replace professional medical care or emergency services.\n\nQuestions? Contact us:\nsupport@wellnuo.com\nwww.wellnuo.com\n\nPrivacy Policy: wellnuo.com/privacy\nTerms of Service: wellnuo.com/terms", - "x": 1660, - "y": 700 - }, - { - "id": "copy_whats_new", + "id": "prep_whats_new", "type": "card", "title": "📋 What's New (v1.0)", "borderColor": "lime", - "tags": ["copypaste"], - "description": "**COPY THIS:**\n\nWelcome to WellNuo!\n\n• Real-time activity monitoring\n• Instant alert notifications\n• Daily and weekly wellness reports\n• Family sharing and coordination\n• Privacy-focused design\n• Sign in with Apple support\n\nStart caring smarter today.", + "tags": [ + "prep", + "appstore" + ], + "description": "**КОПИРОВАТЬ:**\n\nWelcome to WellNuo!\n\n• Real-time activity monitoring\n• Instant alert notifications\n• Daily and weekly wellness reports\n• Family sharing and coordination\n• Privacy-focused design\n• Sign in with Apple support\n\nStart caring smarter today.", + "x": 1280, + "y": 350 + }, + { + "id": "prep_review_notes", + "type": "card", + "title": "📋 Review Notes", + "borderColor": "lime", + "tags": [ + "prep", + "appstore" + ], + "description": "**КОПИРОВАТЬ:**\n\nThis app monitors elderly wellness through activity pattern analysis.\n\nDEMO ACCOUNT:\nThe demo account has 30 days of simulated sensor data. No physical hardware required for testing.\n\nFEATURES TO TEST:\n1. Dashboard - activity overview\n2. Alerts - notifications\n3. Reports - daily/weekly stats\n4. Settings - privacy controls\n5. Family - add members\n\nAI features use OpenAI API (disclosed in privacy policy).\n\nContact: support@wellnuo.com", + "x": 1280, + "y": 550 + }, + { + "id": "prep_demo", + "type": "card", + "title": "🔑 Demo Account", + "borderColor": "green", + "tags": [ + "prep" + ], + "description": "**Для Apple Review:**\n\n**Email:** demo@wellnuo.com\n**Password:** WellNuoDemo2025!\n\n**Требования:**\n- 30 дней симулированных данных\n- Premium подписка активна\n- Все функции работают\n- Без реального оборудования\n\n**Contact:**\nFirst: Bernhard\nLast: Knigge\nPhone: +1-408-647-7068\nEmail: bernhard@wellnuo.com", + "x": 1660, + "y": 150 + }, + { + "id": "prep_screenshots", + "type": "card", + "title": "📱 Screenshots", + "borderColor": "pink", + "tags": [ + "prep", + "design" + ], + "description": "**Размеры:**\n\n**iPhone 6.7\" (обязательно):**\n1290×2796 px\n\n**iPhone 6.5\":**\n1284×2778 px\n\n**iPhone 5.5\" (старые):**\n1242×2208 px\n\n**Экраны (3-10 штук):**\n1. Dashboard\n2. Alerts\n3. Reports\n4. Settings\n5. Family", + "x": 1660, + "y": 350 + }, + { + "id": "prep_icon", + "type": "card", + "title": "🎨 App Icon", + "borderColor": "pink", + "tags": [ + "prep", + "design" + ], + "description": "**Размер:** 1024×1024 PNG\n\n**Требования:**\n- Без прозрачности (no alpha)\n- Без закругленных углов\n- Четко на всех размерах\n\n**Стиль:**\nСердце/забота, градиент синий", + "x": 1660, + "y": 550 + }, + { + "id": "prep_iap", + "type": "card", + "title": "💰 In-App Purchases", + "borderColor": "orange", + "tags": [ + "prep", + "appstore" + ], + "description": "**Monthly:**\nID: com.wellnuo.premium.monthly\nPrice: $4.99/month\nName: WellNuo Premium\nDesc: Unlock unlimited history, AI insights, and family connections.\n\n**Yearly:**\nID: com.wellnuo.premium.yearly\nPrice: $49.99/year\nName: WellNuo Premium (Annual)\nDesc: Save 17% with annual subscription.\n\n**Lifetime:**\nID: com.wellnuo.lifetime\nPrice: $149.99\nName: WellNuo Lifetime\nDesc: One-time purchase for lifetime access.\n\n**Trial:** 7 days", "x": 2040, - "y": 700 + "y": 150 }, { - "id": "copy_urls", + "id": "prep_age_rating", "type": "card", - "title": "📋 Required URLs", - "borderColor": "lime", - "tags": ["copypaste"], - "description": "**Privacy Policy URL:**\nhttps://wellnuo.com/privacy\n\n**Support URL:**\nhttps://wellnuo.com/support\n\n**Marketing URL:**\nhttps://wellnuo.com\n\n**ВАЖНО:**\nВсе URL должны работать до submit!", + "title": "📋 Age Rating (4+)", + "borderColor": "teal", + "tags": [ + "prep", + "appstore" + ], + "description": "**Ответы на вопросник:**\n\nViolence: **None**\nSexual Content: **None**\nProfanity: **None**\nDrugs: **None**\nGambling: **None**\nHorror: **None**\nMedical Info: **Infrequent/Mild**\nWeb Access: **No**\nContests: **No**\n\n**Результат: 4+**", + "x": 2040, + "y": 350 + }, + { + "id": "prep_export", + "type": "card", + "title": "📋 Export Compliance", + "borderColor": "teal", + "tags": [ + "prep", + "appstore" + ], + "description": "**Q: Uses encryption?**\nA: Yes\n\n**Q: Qualifies for exemption?**\nA: Yes - Standard HTTPS/TLS only.\n\nQualifies under Note 4 to Category 5, Part 2 of EAR.\n\nNo custom encryption algorithms.", + "x": 2040, + "y": 550 + }, + { + "id": "prep_info_plist", + "type": "card", + "title": "📋 Info.plist Keys", + "borderColor": "cyan", + "tags": [ + "prep", + "tech" + ], + "description": "**NSLocationWhenInUseUsageDescription:**\nWellNuo uses your location to detect when you arrive home or leave, helping monitor daily activity patterns.\n\n**NSCameraUsageDescription:**\nWellNuo uses the camera to scan QR codes when setting up devices.\n\n**NSHealthShareUsageDescription:**\nWellNuo reads health data to provide wellness monitoring.\n\n**NSUserNotificationsUsageDescription:**\nWellNuo sends notifications about wellness updates.", "x": 2420, - "y": 700 + "y": 150 }, { - "id": "copy_demo_account", - "type": "card", - "title": "📋 Demo Account for Review", - "borderColor": "lime", - "tags": ["copypaste"], - "description": "**Email:**\ndemo@wellnuo.com\n\n**Password:**\nWellNuoDemo2025!\n\n**Contact Information:**\nFirst Name: Bernhard\nLast Name: Knigge\nEmail: bernhard@wellnuo.com\nPhone: +1-408-647-7068", - "x": 2800, - "y": 700 - }, - { - "id": "copy_review_notes", - "type": "card", - "title": "📋 Notes for Reviewer", - "borderColor": "lime", - "tags": ["copypaste"], - "description": "**COPY THIS:**\n\nThis app monitors elderly wellness through activity pattern analysis.\n\nDEMO ACCOUNT INFO:\nThe demo account is pre-configured with 30 days of simulated sensor data showing typical usage patterns. No physical hardware is required for testing - the demo shows how the app would function with real sensors.\n\nKEY FEATURES TO TEST:\n1. Dashboard - View activity overview and status\n2. Alerts - See notification history and settings\n3. Reports - View daily/weekly wellness reports\n4. Settings - Privacy controls and preferences\n5. Family - Add/manage family members (use any email for testing)\n\nAI FEATURES:\nAI-powered insights use OpenAI API for pattern analysis. This is clearly disclosed in our privacy policy and users must consent before enabling AI features.\n\nSUBSCRIPTION:\nPremium features are active on the demo account. Test subscription flow using sandbox Apple ID if needed.\n\nIMPORTANT:\n- No special hardware required for review\n- All features work in demo mode\n- Contact support@wellnuo.com for any questions", - "x": 3180, - "y": 700 - }, - { - "id": "copy_info_plist", - "type": "card", - "title": "📋 Info.plist Usage Descriptions", - "borderColor": "cyan", - "tags": ["copypaste", "backend"], - "description": "**NSLocationWhenInUseUsageDescription:**\nWellNuo uses your location to detect when you arrive home or leave, helping monitor daily activity patterns for wellness insights.\n\n**NSCameraUsageDescription:**\nWellNuo uses the camera to scan QR codes when setting up new monitoring devices.\n\n**NSHealthShareUsageDescription:**\nWellNuo reads your health data to provide comprehensive wellness monitoring and activity insights.\n\n**NSUserNotificationsUsageDescription:**\nWellNuo sends notifications to alert you about important wellness updates and activity changes.\n\n**NSUserTrackingUsageDescription:**\nWellNuo requests permission to track for personalized wellness insights and to improve our service.", - "x": 3560, - "y": 700 - }, - { - "id": "copy_age_rating_answers", - "type": "card", - "title": "📋 Age Rating Answers", - "borderColor": "cyan", - "tags": ["copypaste"], - "description": "**ВСЕ ОТВЕТЫ:**\n\nCartoon/Fantasy Violence: **None**\nRealistic Violence: **None**\nSexual Content/Nudity: **None**\nProfanity/Crude Humor: **None**\nAlcohol/Tobacco/Drug Use: **None**\nMature/Suggestive Themes: **None**\nSimulated Gambling: **None**\nHorror/Fear Themes: **None**\nMedical/Treatment Info: **Infrequent/Mild**\nUnrestricted Web Access: **No**\nGambling and Contests: **No**\n\n**Результат: 4+**", - "x": 3940, - "y": 700 - }, - { - "id": "copy_export_compliance", - "type": "card", - "title": "📋 Export Compliance Answers", - "borderColor": "cyan", - "tags": ["copypaste"], - "description": "**Q: Does your app use encryption?**\nA: Yes\n\n**Q: Does your app qualify for exemptions?**\nA: Yes - The app only uses standard HTTPS/TLS for API communication and iOS standard encryption APIs. It qualifies for exemption under Note 4 to Category 5, Part 2 of the EAR.\n\n**Если попросят подробности:**\nThe app uses:\n- HTTPS (TLS 1.2/1.3) for all network communication\n- iOS Keychain for secure credential storage\n- Standard iOS cryptographic frameworks\n\nNo custom encryption algorithms are implemented.", - "x": 4320, - "y": 700 - }, - { - "id": "copy_app_privacy", + "id": "prep_privacy_labels", "type": "card", "title": "📋 App Privacy Labels", "borderColor": "cyan", - "tags": ["copypaste", "legal"], - "description": "**DATA COLLECTED:**\n\n1. Contact Info (Email)\n - Linked to User: Yes\n - Used for: App Functionality\n - Tracking: No\n\n2. Health & Fitness\n - Linked to User: Yes\n - Used for: App Functionality\n - Tracking: No\n\n3. Identifiers (User ID)\n - Linked to User: Yes\n - Used for: App Functionality\n - Tracking: No\n\n4. Usage Data\n - Linked to User: No\n - Used for: Analytics\n - Tracking: No\n\n5. Diagnostics (Crash Data)\n - Linked to User: No\n - Used for: App Functionality\n - Tracking: No", - "x": 4700, - "y": 700 - }, - { - "id": "copy_iap_products", - "type": "card", - "title": "📋 In-App Purchases Config", - "borderColor": "orange", - "tags": ["copypaste", "external"], - "description": "**Product 1 - Monthly:**\nID: com.wellnuo.premium.monthly\nType: Auto-Renewable Subscription\nPrice: $4.99\nDuration: 1 Month\nDisplay Name: WellNuo Premium\nDescription: Unlock unlimited history, AI insights, and family connections.\n\n**Product 2 - Yearly:**\nID: com.wellnuo.premium.yearly\nType: Auto-Renewable Subscription\nPrice: $49.99\nDuration: 1 Year\nDisplay Name: WellNuo Premium (Annual)\nDescription: Save 17% with annual subscription. All premium features included.\n\n**Product 3 - Lifetime:**\nID: com.wellnuo.lifetime\nType: Non-Consumable\nPrice: $149.99\nDisplay Name: WellNuo Lifetime\nDescription: One-time purchase for lifetime access to all premium features.\n\n**Subscription Group:** WellNuo Premium\n**Free Trial:** 7 days", - "x": 5080, - "y": 700 - }, - { - "id": "copy_privacy_policy", - "type": "card", - "title": "📋 Privacy Policy (Full Text)", - "borderColor": "red", - "tags": ["copypaste", "legal"], - "description": "**URL:** wellnuo.com/privacy\n\n**PRIVACY POLICY**\nLast Updated: December 2025\n\n**1. Information We Collect**\n- Account info (email, name)\n- Activity data from sensors\n- Device info (for app functionality)\n- Health data (if HealthKit enabled)\n\n**2. How We Use Your Information**\n- Provide wellness monitoring\n- Send alerts and notifications\n- Generate wellness reports\n- Improve our services\n\n**3. AI Third-Party Disclosure**\nWe use OpenAI GPT API for AI-powered insights. When you enable AI features:\n- Anonymized activity patterns are sent\n- No personal identifiers shared\n- You must consent before enabling\n\n**4. Data Sharing**\nWe do NOT sell your data. We share only:\n- With family members you authorize\n- For legal compliance\n- With service providers (encrypted)\n\n**5. Data Security**\nAES-256 encryption, secure servers, regular audits.\n\n**6. Your Rights**\n- Access, correct, delete your data\n- Opt-out of AI features\n- Export your data\n\n**7. Children**\nNot intended for children under 13.\n\n**8. Contact**\nprivacy@wellnuo.com\n\n**Полный текст на wellnuo.com/privacy**", - "x": 140, - "y": 900 - }, - { - "id": "copy_terms_of_service", - "type": "card", - "title": "📋 Terms of Service (Summary)", - "borderColor": "red", - "tags": ["copypaste", "legal"], - "description": "**URL:** wellnuo.com/terms\n\n**TERMS OF SERVICE**\nLast Updated: December 2025\n\n**Key Points:**\n\n1. **Not a Medical Device**\n WellNuo is NOT a substitute for professional medical care or emergency services.\n\n2. **Account Responsibility**\n You are responsible for your account security.\n\n3. **Subscriptions**\n - Billed through Apple App Store\n - Auto-renews unless cancelled\n - Cancel in Settings → Subscriptions\n\n4. **Limitation of Liability**\n We are not liable for sensor failures, connectivity issues, or missed alerts.\n\n5. **Apple EULA**\n Subject to Apple's Standard EULA:\n apple.com/legal/internet-services/itunes/dev/stdeula/\n\n6. **Governing Law**\n State of California, USA\n\n7. **Contact**\n legal@wellnuo.com\n\n**Полный текст на wellnuo.com/terms**", - "x": 520, - "y": 900 - }, - { - "id": "copy_support_page", - "type": "card", - "title": "📋 Support Page Content", - "borderColor": "red", - "tags": ["copypaste", "legal"], - "description": "**URL:** wellnuo.com/support\n\n**SUPPORT CENTER**\n\n**Contact:**\nEmail: support@wellnuo.com\nPhone: +1-408-647-7068\nHours: Mon-Fri, 9AM-6PM PST\nResponse: 24-48 hours\n\n**FAQ Topics:**\n- How does WellNuo work?\n- Is my data secure?\n- How to cancel subscription?\n- How to add family members?\n- How to delete account?\n\n**Troubleshooting:**\n- App crashes → Force close, update, restart\n- No alerts → Check notification settings\n- Sensors not connecting → Check Bluetooth\n\n**App Info:**\nVersion: 1.0.0\nRequires: iOS 17.0+\nSize: ~50 MB\nLanguages: English", - "x": 900, - "y": 900 - }, - { - "id": "copy_ai_consent_screen", - "type": "card", - "title": "📋 AI Consent Screen Text", - "borderColor": "red", - "tags": ["copypaste", "legal"], - "description": "**В ПРИЛОЖЕНИИ (первый запуск AI):**\n\n**Title:**\nEnable AI-Powered Insights?\n\n**Body:**\nWellNuo can analyze your activity patterns using AI to detect subtle changes and provide personalized wellness insights.\n\n**How it works:**\n• Your anonymized activity data is processed by OpenAI's GPT\n• No personal information (name, email) is ever shared\n• You can disable this anytime in Settings\n\n**Buttons:**\n[Enable AI Insights]\n[Not Now]\n\n**Link:**\nLearn more about our AI practices →\n(ведет на wellnuo.com/privacy#ai)", - "x": 1280, - "y": 900 - }, - { - "id": "copy_rejection_responses", - "type": "card", - "title": "📋 Rejection Response Templates", - "borderColor": "gray", - "tags": ["copypaste"], - "description": "**Guideline 2.1 - App Completeness:**\nThank you for your feedback. We have addressed the issue by [описание]. The updated build [номер] has been submitted.\n\n**Guideline 5.1.1 - Data Collection:**\nWe have updated our Privacy Policy to accurately reflect all data collection. The policy is now live at wellnuo.com/privacy.\n\n**Guideline 5.1.2 - AI Disclosure:**\nWe have added explicit AI third-party disclosure in our Privacy Policy section 3, and implemented an in-app consent prompt before any AI features are enabled.\n\n**General Template:**\nThank you for your feedback. We have addressed the issue as follows:\n\n[Что исправлено]\n\nThe updated build [номер] has been submitted for review. Please let us know if you need any additional information.", - "x": 1660, - "y": 900 - }, - { - "id": "copy_review_responses", - "type": "card", - "title": "📋 App Store Review Responses", - "borderColor": "gray", - "tags": ["copypaste"], - "description": "**Positive Review:**\nThank you for your kind words! We're glad WellNuo is helping you care for your loved ones. Your feedback means a lot to us.\n\n**Bug Report:**\nWe're sorry to hear about this issue. Please contact us at support@wellnuo.com with details about your device and the problem, and we'll help resolve it as quickly as possible.\n\n**Feature Request:**\nThank you for the suggestion! We're always looking to improve WellNuo. We've added your feedback to our roadmap for consideration in future updates.\n\n**1-Star Angry:**\nWe're truly sorry for your experience. Please reach out to support@wellnuo.com - we'd like to understand what went wrong and make it right.", - "x": 2040, - "y": 900 - }, - { - "id": "copy_final_checklist", - "type": "card", - "title": "✅ FINAL CHECKLIST", - "borderColor": "green", - "tags": ["copypaste", "checklist"], - "description": "**App Store Connect:**\n□ App Name filled\n□ Subtitle filled\n□ Description filled\n□ Keywords filled\n□ What's New filled\n□ Screenshots uploaded (all sizes)\n□ App Icon 1024x1024\n□ Privacy Policy URL works\n□ Support URL works\n□ Categories selected\n□ Age Rating completed\n□ Pricing set\n□ IAP created\n□ App Privacy filled\n□ Review Notes written\n□ Demo account tested\n□ Contact info current\n\n**Build:**\n□ TestFlight build uploaded\n□ No crashes in 24h\n□ All features work\n□ Demo account works", + "tags": [ + "prep", + "appstore" + ], + "description": "**Data Collected:**\n\n✓ Contact Info (Email)\n - Linked: Yes\n - Purpose: App Functionality\n\n✓ Health & Fitness\n - Linked: Yes\n - Purpose: App Functionality\n\n✓ Identifiers (User ID)\n - Linked: Yes\n - Purpose: App Functionality\n\n✓ Usage Data\n - Linked: No\n - Purpose: Analytics\n\n✓ Diagnostics\n - Linked: No\n - Purpose: App Functionality\n\n**Tracking:** No", "x": 2420, - "y": 900 + "y": 350 + }, + { + "id": "prep_build", + "type": "card", + "title": "🔨 Build & TestFlight", + "borderColor": "teal", + "tags": [ + "prep", + "tech" + ], + "description": "**Команды:**\n```\neas build --platform ios\neas submit --platform ios\n```\n\n**Требования:**\n- iOS 17.0+ minimum\n- Xcode 15.2+\n- Без crashes 24ч\n\n**TestFlight:**\n- Internal: до 100 тестеров\n- External: требует Beta Review", + "x": 2420, + "y": 550 + }, + { + "id": "prep_checklist", + "type": "card", + "title": "✅ Checklist Подготовки", + "borderColor": "green", + "tags": [ + "prep", + "checklist" + ], + "description": "**Перед публикацией:**\n\n**Сайт:**\n□ wellnuo.com/privacy работает\n□ wellnuo.com/terms работает\n□ wellnuo.com/support работает\n\n**Материалы:**\n□ Screenshots готовы\n□ App Icon 1024x1024\n□ Все тексты готовы\n\n**Технические:**\n□ Demo account работает\n□ Build в TestFlight\n□ Нет crashes 24ч", + "x": 1017.3814697265625, + "y": 804.5396423339844 + }, + { + "id": "pub_header", + "type": "card", + "title": "🚀 ПУБЛИКАЦИЯ", + "borderColor": "blue", + "tags": [ + "pub", + "overview" + ], + "description": "**App Store Connect**\n\n**URL:** appstoreconnect.apple.com\n\n**Шаги:**\n1. Apple Developer Account\n2. Создание App\n3. Заполнение полей\n4. Submit на Review\n\n**Review Time:** 24-48 часов", + "x": 173.6695556640625, + "y": 1002.0176391601562 + }, + { + "id": "pub_account", + "type": "card", + "title": "👤 Apple Developer Account", + "borderColor": "purple", + "tags": [ + "pub" + ], + "description": "**URL:** developer.apple.com/enroll\n**Стоимость:** $99/год\n\n**Тип:** Organization\n\n**Требуется:**\n- D-U-N-S Number\n- Юр. название компании\n- Website\n- Телефон для верификации\n\n**Время:** 1-7 дней", + "x": 553.6695556640625, + "y": 952.0176391601562 + }, + { + "id": "pub_create", + "type": "card", + "title": "➕ Создание App", + "borderColor": "blue", + "tags": [ + "pub" + ], + "description": "**My Apps → + → New App**\n\n**Заполнить:**\n- Platform: iOS\n- Name: WellNuo - Senior Care Monitor\n- Primary Language: English\n- Bundle ID: com.wellnuo.seniorcare\n- SKU: WELLNUO-SENIOR-001\n\n**User Access:** Full Access", + "x": 553.6695556640625, + "y": 1152.0176391601562 + }, + { + "id": "pub_app_info", + "type": "card", + "title": "📝 App Information", + "borderColor": "blue", + "tags": [ + "pub" + ], + "description": "**Секция App Information:**\n\n**Subtitle:**\nElderly Wellness Tracking\n\n**Category:**\nPrimary: Health & Fitness\nSecondary: Lifestyle\n\n**Content Rights:**\nDoes not contain third-party content\n\n**Age Rating:**\nЗаполнить вопросник → **4+**", + "x": 933.6695556640625, + "y": 952.0176391601562 + }, + { + "id": "pub_pricing", + "type": "card", + "title": "💰 Pricing", + "borderColor": "orange", + "tags": [ + "pub" + ], + "description": "**Schedule → Price:**\nBase Price: **Free**\n\n**Availability:**\nAll territories\n\n**In-App Purchases:**\nСоздать 3 продукта из подготовки\n\n**Subscriptions:**\nГруппа: WellNuo Premium\nTrial: 7 days", + "x": 933.6695556640625, + "y": 1152.0176391601562 + }, + { + "id": "pub_version", + "type": "card", + "title": "📋 Version Info", + "borderColor": "blue", + "tags": [ + "pub" + ], + "description": "**iOS App → 1.0:**\n\n1. **Screenshots** - загрузить\n2. **Promotional Text** - из подготовки\n3. **Description** - из подготовки\n4. **Keywords** - из подготовки\n5. **Support URL** - wellnuo.com/support\n6. **Marketing URL** - wellnuo.com\n7. **What's New** - из подготовки\n8. **Build** - выбрать из TestFlight", + "x": 1313.6695556640625, + "y": 952.0176391601562 + }, + { + "id": "pub_review", + "type": "card", + "title": "🔍 App Review", + "borderColor": "green", + "tags": [ + "pub" + ], + "description": "**Sign-In Required:** Yes\n\n**Demo Account:**\nEmail: demo@wellnuo.com\nPassword: WellNuoDemo2025!\n\n**Contact:**\nFirst: Bernhard\nLast: Knigge\nPhone: +1-408-647-7068\nEmail: bernhard@wellnuo.com\n\n**Notes:** вставить из подготовки", + "x": 1313.6695556640625, + "y": 1152.0176391601562 + }, + { + "id": "pub_privacy", + "type": "card", + "title": "🔒 App Privacy", + "borderColor": "red", + "tags": [ + "pub" + ], + "description": "**Privacy Policy URL:**\nhttps://wellnuo.com/privacy\n\n**Data Collection:**\nЗаполнить по чеклисту из App Privacy Labels\n\n**Tracking:** No\n\n**Third-Party SDKs:**\nOpenAI API (disclosed)", + "x": 1693.6695556640625, + "y": 952.0176391601562 + }, + { + "id": "pub_submit", + "type": "card", + "title": "📤 Submit", + "borderColor": "lime", + "tags": [ + "pub" + ], + "description": "**Финальные шаги:**\n\n1. ✓ Все поля заполнены\n2. ✓ URLs работают\n3. ✓ Build выбран\n4. ✓ Screenshots загружены\n5. **Add for Review**\n6. **Submit to App Review**\n\n**Review:** 24-48 часов\n**Release:** Automatic", + "x": 1693.6695556640625, + "y": 1152.0176391601562 } ], "connections": [ { - "from": "main_header", - "to": "phase_1_preparation", - "label": "Start" + "from": "header", + "to": "prep_header", + "label": "1" }, { - "from": "phase_1_preparation", - "to": "developer_account" + "from": "header", + "to": "pub_header", + "label": "2" }, { - "from": "developer_account", - "to": "bundle_id_sku" + "from": "prep_header", + "to": "prep_privacy" }, { - "from": "bundle_id_sku", - "to": "certificates" + "from": "prep_header", + "to": "prep_app_name" }, { - "from": "phase_1_preparation", - "to": "phase_2_content", - "label": "Next" + "from": "prep_header", + "to": "prep_demo" }, { - "from": "phase_2_content", - "to": "app_icon_specs" + "from": "prep_header", + "to": "prep_iap" }, { - "from": "app_icon_specs", - "to": "screenshots_specs" + "from": "prep_header", + "to": "prep_info_plist" }, { - "from": "screenshots_specs", - "to": "screenshots_content" + "from": "prep_privacy", + "to": "prep_terms" }, { - "from": "screenshots_content", - "to": "app_preview_video" + "from": "prep_terms", + "to": "prep_support" }, { - "from": "app_preview_video", - "to": "app_name_subtitle" + "from": "prep_app_name", + "to": "prep_keywords" }, { - "from": "app_name_subtitle", - "to": "keywords_aso" + "from": "prep_keywords", + "to": "prep_description" }, { - "from": "keywords_aso", - "to": "description_full" + "from": "prep_description", + "to": "prep_promo" }, { - "from": "phase_2_content", - "to": "phase_3_legal", - "label": "Parallel" + "from": "prep_promo", + "to": "prep_whats_new" }, { - "from": "phase_3_legal", - "to": "privacy_policy_structure" + "from": "prep_whats_new", + "to": "prep_review_notes" }, { - "from": "privacy_policy_structure", - "to": "ai_disclosure_new", - "label": "NEW 2025!" + "from": "prep_demo", + "to": "prep_screenshots" }, { - "from": "ai_disclosure_new", - "to": "terms_of_service" + "from": "prep_screenshots", + "to": "prep_icon" }, { - "from": "terms_of_service", - "to": "support_url_page" + "from": "prep_iap", + "to": "prep_age_rating" }, { - "from": "phase_3_legal", - "to": "phase_4_technical", - "label": "Next" + "from": "prep_age_rating", + "to": "prep_export" }, { - "from": "phase_4_technical", - "to": "permissions_usage" + "from": "prep_info_plist", + "to": "prep_privacy_labels" }, { - "from": "permissions_usage", - "to": "app_privacy_labels" + "from": "prep_privacy_labels", + "to": "prep_build" }, { - "from": "app_privacy_labels", - "to": "export_compliance" + "from": "prep_support", + "to": "prep_checklist" }, { - "from": "export_compliance", - "to": "age_rating" + "from": "prep_review_notes", + "to": "prep_checklist" }, { - "from": "age_rating", - "to": "iap_configuration" + "from": "prep_icon", + "to": "prep_checklist" }, { - "from": "iap_configuration", - "to": "review_notes" + "from": "prep_export", + "to": "prep_checklist" }, { - "from": "review_notes", - "to": "testflight_beta" + "from": "prep_build", + "to": "prep_checklist" }, { - "from": "phase_4_technical", - "to": "phase_5_submit", - "label": "Final" + "from": "prep_checklist", + "to": "pub_header", + "label": "Готово →" }, { - "from": "phase_5_submit", - "to": "common_rejections" + "from": "pub_header", + "to": "pub_account" }, { - "from": "common_rejections", - "to": "review_timeline" + "from": "pub_account", + "to": "pub_create" }, { - "from": "review_timeline", - "to": "post_launch" + "from": "pub_create", + "to": "pub_app_info" }, { - "from": "testflight_beta", - "to": "localization" + "from": "pub_app_info", + "to": "pub_pricing" }, { - "from": "localization", - "to": "analytics_setup" + "from": "pub_app_info", + "to": "pub_version" }, { - "from": "analytics_setup", - "to": "automation_cicd" + "from": "pub_version", + "to": "pub_review" }, { - "from": "automation_cicd", - "to": "launch_timeline" + "from": "pub_review", + "to": "pub_privacy" + }, + { + "from": "pub_pricing", + "to": "pub_privacy" + }, + { + "from": "pub_privacy", + "to": "pub_submit" } ], "tagsDictionary": [ @@ -801,39 +537,24 @@ "color": "purple" }, { - "id": "tag-checklist", - "name": "checklist", - "color": "green" + "id": "tag-prep", + "name": "prep", + "color": "orange" }, { - "id": "tag-phase1", - "name": "phase1", - "color": "purple" + "id": "tag-pub", + "name": "pub", + "color": "blue" }, { - "id": "tag-phase2", - "name": "phase2", - "color": "pink" - }, - { - "id": "tag-phase3", - "name": "phase3", + "id": "tag-website", + "name": "website", "color": "red" }, { - "id": "tag-phase4", - "name": "phase4", - "color": "teal" - }, - { - "id": "tag-phase5", - "name": "phase5", - "color": "cyan" - }, - { - "id": "tag-setup", - "name": "setup", - "color": "brown" + "id": "tag-appstore", + "name": "appstore", + "color": "lime" }, { "id": "tag-design", @@ -841,44 +562,14 @@ "color": "pink" }, { - "id": "tag-aso", - "name": "aso", - "color": "blue" - }, - { - "id": "tag-legal", - "name": "legal", - "color": "red" - }, - { - "id": "tag-critical", - "name": "critical", - "color": "red" - }, - { - "id": "tag-backend", - "name": "backend", + "id": "tag-tech", + "name": "tech", "color": "teal" }, { - "id": "tag-external", - "name": "external", - "color": "orange" - }, - { - "id": "tag-marketing", - "name": "marketing", - "color": "blue" - }, - { - "id": "tag-timeline", - "name": "timeline", - "color": "gray" - }, - { - "id": "tag-copypaste", - "name": "copypaste", - "color": "lime" + "id": "tag-checklist", + "name": "checklist", + "color": "green" } ] } \ No newline at end of file