From 27c60b6679e139cb124ff0e4549dd5901415adbf Mon Sep 17 00:00:00 2001 From: Drashti Patel Date: Sun, 14 Sep 2025 10:42:43 +0530 Subject: [PATCH] =?UTF-8?q?=F0=9F=94=A8:=20Update=20Docs?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- 02-project-initialization/project-setup.md | 8 +-- 04-design-integration/icons-fonts.md | 8 +-- 05-state-management-navigation/navigation.md | 2 +- 06-testing-quality-assurance/e2e-testing.md | 6 +-- 08-security/secure-storage.md | 4 +- 09-ci-cd-pipeline/github-actions-fastlane.md | 16 +++--- 10-release-process/android-release.md | 44 +++++++-------- 10-release-process/ios-release.md | 56 ++++++++++---------- 10-release-process/versioning.md | 8 +-- 11-post-release-maintenance/ota-updates.md | 26 ++++----- 10 files changed, 89 insertions(+), 89 deletions(-) diff --git a/02-project-initialization/project-setup.md b/02-project-initialization/project-setup.md index 510a150..7b96212 100644 --- a/02-project-initialization/project-setup.md +++ b/02-project-initialization/project-setup.md @@ -4,9 +4,9 @@ ```bash # Create new React Native project with TypeScript -npx react-native init SaayamApp --template react-native-template-typescript +npx react-native init MyApp --template react-native-template-typescript -cd SaayamApp +cd MyApp # Initialize git repository git init @@ -138,10 +138,10 @@ yarn add react-native-config **Create environment files:** ```bash # .env.development -API_BASE_URL=https://dev-api.saayam.com +API_BASE_URL=https://dev-api.myapp.com APP_ENV=development # .env.production -API_BASE_URL=https://api.saayam.com +API_BASE_URL=https://api.myapp.com APP_ENV=production ``` \ No newline at end of file diff --git a/04-design-integration/icons-fonts.md b/04-design-integration/icons-fonts.md index 27e8748..c634a20 100644 --- a/04-design-integration/icons-fonts.md +++ b/04-design-integration/icons-fonts.md @@ -7,7 +7,7 @@ **Using IconKitchen or manually:** 1. **Android**: Place icons in `android/app/src/main/res/mipmap-*` -2. **iOS**: Use Xcode Asset Catalog in `ios/SaayamApp/Images.xcassets` +2. **iOS**: Use Xcode Asset Catalog in `ios/MyApp/Images.xcassets` **Android Icon Sizes:** - `mipmap-mdpi`: 48x48px @@ -79,7 +79,7 @@ yarn add react-native-splash-screen **iOS Configuration:** 1. Add fonts to Xcode project -2. Update `ios/SaayamApp/Info.plist`: +2. Update `ios/MyApp/Info.plist`: ```xml UIAppFonts @@ -151,8 +151,8 @@ import icoMoonConfig from '@assets/fonts/selection.json'; const IconFont = createIconSetFromIcoMoon( icoMoonConfig, - 'SaayamIcons', - 'SaayamIcons.ttf' + 'MyAppIcons', + 'MyAppIcons.ttf' ); interface CustomIconProps { diff --git a/05-state-management-navigation/navigation.md b/05-state-management-navigation/navigation.md index 9a37180..c7a0452 100644 --- a/05-state-management-navigation/navigation.md +++ b/05-state-management-navigation/navigation.md @@ -303,7 +303,7 @@ import {LinkingOptions} from '@react-navigation/native'; import {RootStackParamList} from './types'; const linking: LinkingOptions = { - prefixes: ['saayam://'], + prefixes: ['myapp://'], config: { screens: { Auth: { diff --git a/06-testing-quality-assurance/e2e-testing.md b/06-testing-quality-assurance/e2e-testing.md index 8aa3a2c..ad46a26 100644 --- a/06-testing-quality-assurance/e2e-testing.md +++ b/06-testing-quality-assurance/e2e-testing.md @@ -24,8 +24,8 @@ module.exports = { }, app: { type: 'ios.app', - binaryPath: 'ios/build/Build/Products/Debug-iphonesimulator/SaayamApp.app', - build: 'xcodebuild -workspace ios/SaayamApp.xcworkspace -scheme SaayamApp -configuration Debug -sdk iphonesimulator -derivedDataPath ios/build', + binaryPath: 'ios/build/Build/Products/Debug-iphonesimulator/MyApp.app', + build: 'xcodebuild -workspace ios/MyApp.xcworkspace -scheme MyApp -configuration Debug -sdk iphonesimulator -derivedDataPath ios/build', }, }, 'android.emu.debug': { @@ -281,7 +281,7 @@ describe('Device Interactions', () => { }); it('should handle deep links', async () => { - await device.openURL({url: 'saayam://request/123'}); + await device.openURL({url: 'myapp://request/123'}); await waitFor(element(by.id('requestDetailScreen'))) .toBeVisible() .withTimeout(10000); diff --git a/08-security/secure-storage.md b/08-security/secure-storage.md index 707c8be..43e469a 100644 --- a/08-security/secure-storage.md +++ b/08-security/secure-storage.md @@ -136,7 +136,7 @@ import {SecureStorage} from '@utils/secureStorage'; import {EncryptionService} from '@utils/encryption'; const secureAPI = axios.create({ - baseURL: 'https://api.saayam.com', + baseURL: 'https://api.myapp.com', timeout: 10000, }); @@ -390,7 +390,7 @@ export class CertificatePinning { request.trusty = { hosts: [ { - host: 'api.saayam.com', + host: 'api.myapp.com', certificates: this.PINNED_CERTIFICATES, }, ], diff --git a/09-ci-cd-pipeline/github-actions-fastlane.md b/09-ci-cd-pipeline/github-actions-fastlane.md index 2142503..cc6278a 100644 --- a/09-ci-cd-pipeline/github-actions-fastlane.md +++ b/09-ci-cd-pipeline/github-actions-fastlane.md @@ -111,11 +111,11 @@ jobs: - name: Build iOS run: | cd ios - xcodebuild -workspace SaayamApp.xcworkspace \ - -scheme SaayamApp \ + xcodebuild -workspace MyApp.xcworkspace \ + -scheme MyApp \ -configuration Release \ -destination generic/platform=iOS \ - -archivePath $PWD/build/SaayamApp.xcarchive \ + -archivePath $PWD/build/MyApp.xcarchive \ archive ``` @@ -240,15 +240,15 @@ platform :ios do ) increment_build_number( - xcodeproj: "SaayamApp.xcodeproj" + xcodeproj: "MyApp.xcodeproj" ) build_app( - scheme: "SaayamApp", + scheme: "MyApp", export_method: "app-store", export_options: { provisioningProfiles: { - "com.saayam.app" => "match AppStore com.saayam.app" + "com.myapp.app" => "match AppStore com.myapp.app" } } ) @@ -273,7 +273,7 @@ platform :ios do ) build_app( - scheme: "SaayamApp", + scheme: "MyApp", export_method: "app-store" ) @@ -424,7 +424,7 @@ fastlane match appstore git_url("https://github.com/your-org/certificates") storage_mode("git") type("development") -app_identifier(["com.saayam.app"]) +app_identifier(["com.myapp.app"]) username("your-apple-id@example.com") ``` diff --git a/10-release-process/android-release.md b/10-release-process/android-release.md index 9068344..5132e7c 100644 --- a/10-release-process/android-release.md +++ b/10-release-process/android-release.md @@ -6,10 +6,10 @@ ```bash # Generate a new keystore -keytool -genkeypair -v -storetype PKCS12 -keystore saayam-release-key.keystore -alias saayam-key-alias -keyalg RSA -keysize 2048 -validity 10000 +keytool -genkeypair -v -storetype PKCS12 -keystore myapp-release-key.keystore -alias myapp-key-alias -keyalg RSA -keysize 2048 -validity 10000 # Verify keystore -keytool -list -v -keystore saayam-release-key.keystore +keytool -list -v -keystore myapp-release-key.keystore ``` ### Keystore Security @@ -17,10 +17,10 @@ keytool -list -v -keystore saayam-release-key.keystore ```bash # Store keystore securely mkdir -p ~/.android/keystores -mv saayam-release-key.keystore ~/.android/keystores/ +mv myapp-release-key.keystore ~/.android/keystores/ # Set proper permissions -chmod 600 ~/.android/keystores/saayam-release-key.keystore +chmod 600 ~/.android/keystores/myapp-release-key.keystore ``` ## Gradle Configuration @@ -30,10 +30,10 @@ chmod 600 ~/.android/keystores/saayam-release-key.keystore **android/gradle.properties:** ```properties # Keystore configuration -SAAYAM_UPLOAD_STORE_FILE=saayam-release-key.keystore -SAAYAM_UPLOAD_KEY_ALIAS=saayam-key-alias -SAAYAM_UPLOAD_STORE_PASSWORD=your_keystore_password -SAAYAM_UPLOAD_KEY_PASSWORD=your_key_password +MYAPP_UPLOAD_STORE_FILE=myapp-release-key.keystore +MYAPP_UPLOAD_KEY_ALIAS=myapp-key-alias +MYAPP_UPLOAD_STORE_PASSWORD=your_keystore_password +MYAPP_UPLOAD_KEY_PASSWORD=your_key_password # Build optimization org.gradle.jvmargs=-Xmx2048m -XX:MaxPermSize=512m -XX:+HeapDumpOnOutOfMemoryError -Dfile.encoding=UTF-8 @@ -53,7 +53,7 @@ android { compileSdkVersion rootProject.ext.compileSdkVersion defaultConfig { - applicationId "com.saayam.app" + applicationId "com.myapp.app" minSdkVersion rootProject.ext.minSdkVersion targetSdkVersion rootProject.ext.targetSdkVersion versionCode 1 @@ -69,11 +69,11 @@ android { keyPassword 'android' } release { - if (project.hasProperty('SAAYAM_UPLOAD_STORE_FILE')) { - storeFile file(SAAYAM_UPLOAD_STORE_FILE) - storePassword SAAYAM_UPLOAD_STORE_PASSWORD - keyAlias SAAYAM_UPLOAD_KEY_ALIAS - keyPassword SAAYAM_UPLOAD_KEY_PASSWORD + if (project.hasProperty('MYAPP_UPLOAD_STORE_FILE')) { + storeFile file(MYAPP_UPLOAD_STORE_FILE) + storePassword MYAPP_UPLOAD_STORE_PASSWORD + keyAlias MYAPP_UPLOAD_KEY_ALIAS + keyPassword MYAPP_UPLOAD_KEY_PASSWORD } } } @@ -116,7 +116,7 @@ android { -keep class com.facebook.jni.** { *; } # Keep our application class --keep class com.saayam.** { *; } +-keep class com.myapp.** { *; }; # Keep native methods -keepclassmembers class * { @@ -207,22 +207,22 @@ android { dimension "version" applicationIdSuffix ".dev" versionNameSuffix "-dev" - buildConfigField "String", "API_BASE_URL", '"https://dev-api.saayam.com"' - resValue "string", "app_name", "Saayam Dev" + buildConfigField "String", "API_BASE_URL", '"https://dev-api.myapp.com"' + resValue "string", "app_name", "MyApp Dev" } staging { dimension "version" applicationIdSuffix ".staging" versionNameSuffix "-staging" - buildConfigField "String", "API_BASE_URL", '"https://staging-api.saayam.com"' - resValue "string", "app_name", "Saayam Staging" + buildConfigField "String", "API_BASE_URL", '"https://staging-api.myapp.com"' + resValue "string", "app_name", "MyApp Staging" } production { dimension "version" - buildConfigField "String", "API_BASE_URL", '"https://api.saayam.com"' - resValue "string", "app_name", "Saayam" + buildConfigField "String", "API_BASE_URL", '"https://api.myapp.com"' + resValue "string", "app_name", "MyApp" } } } @@ -234,7 +234,7 @@ android { 1. **Go to Google Play Console** 2. **Create Application** - - App name: Saayam + - App name: MyApp - Default language: English - App or game: App - Free or paid: Free diff --git a/10-release-process/ios-release.md b/10-release-process/ios-release.md index 8b86f8e..8a590ad 100644 --- a/10-release-process/ios-release.md +++ b/10-release-process/ios-release.md @@ -11,8 +11,8 @@ ### App Store Connect Setup 1. **Create App Record** - - App name: Saayam - - Bundle ID: com.saayam.app + - App name: MyApp + - Bundle ID: com.myapp.app - SKU: unique identifier - Primary language: English @@ -57,7 +57,7 @@ fastlane match adhoc git_url("https://github.com/your-org/certificates") storage_mode("git") type("development") -app_identifier(["com.saayam.app"]) +app_identifier(["com.myapp.app"]) username("your-apple-id@example.com") team_id("YOUR_TEAM_ID") ``` @@ -74,7 +74,7 @@ team_id("YOUR_TEAM_ID") - iOS Distribution Certificate 3. **Create App ID** - - Bundle ID: com.saayam.app + - Bundle ID: com.myapp.app - Enable required capabilities (Push Notifications, etc.) 4. **Create Provisioning Profiles** @@ -90,7 +90,7 @@ team_id("YOUR_TEAM_ID") # Code Signing CODE_SIGN_IDENTITY = "iPhone Distribution" DEVELOPMENT_TEAM = "YOUR_TEAM_ID" -PROVISIONING_PROFILE_SPECIFIER = "match AppStore com.saayam.app" +PROVISIONING_PROFILE_SPECIFIER = "match AppStore com.myapp.app" # Build Configuration ENABLE_BITCODE = YES @@ -104,16 +104,16 @@ TARGETED_DEVICE_FAMILY = "1,2" # iPhone and iPad ### Info.plist Configuration -**ios/SaayamApp/Info.plist:** +**ios/MyApp/Info.plist:** ```xml CFBundleDisplayName - Saayam + MyApp CFBundleIdentifier - com.saayam.app + com.myapp.app CFBundleVersion 1 CFBundleShortVersionString @@ -155,16 +155,16 @@ rm -rf build/ pod install # Build for device -xcodebuild -workspace SaayamApp.xcworkspace \ - -scheme SaayamApp \ +xcodebuild -workspace MyApp.xcworkspace \ + -scheme MyApp \ -configuration Release \ -destination generic/platform=iOS \ - -archivePath $PWD/build/SaayamApp.xcarchive \ + -archivePath $PWD/build/MyApp.xcarchive \ archive # Export IPA xcodebuild -exportArchive \ - -archivePath $PWD/build/SaayamApp.xcarchive \ + -archivePath $PWD/build/MyApp.xcarchive \ -exportPath $PWD/build/ \ -exportOptionsPlist ExportOptions.plist ``` @@ -189,8 +189,8 @@ xcodebuild -exportArchive \ provisioningProfiles - com.saayam.app - match AppStore com.saayam.app + com.myapp.app + match AppStore com.myapp.app @@ -215,16 +215,16 @@ platform :ios do # Increment build number increment_build_number( - xcodeproj: "SaayamApp.xcodeproj" + xcodeproj: "MyApp.xcodeproj" ) # Build the app build_app( - scheme: "SaayamApp", + scheme: "MyApp", export_method: "app-store", export_options: { provisioningProfiles: { - "com.saayam.app" => "match AppStore com.saayam.app" + "com.myapp.app" => "match AppStore com.myapp.app" } } ) @@ -246,7 +246,7 @@ platform :ios do ) build_app( - scheme: "SaayamApp", + scheme: "MyApp", export_method: "app-store" ) @@ -285,7 +285,7 @@ end #!/bin/bash VERSION_TYPE=${1:-patch} # major, minor, patch -PLIST_PATH="ios/SaayamApp/Info.plist" +PLIST_PATH="ios/MyApp/Info.plist" # Get current version CURRENT_VERSION=$(/usr/libexec/PlistBuddy -c "Print CFBundleShortVersionString" "$PLIST_PATH") @@ -337,7 +337,7 @@ echo "Version updated successfully!" ```ruby # Fastlane lane for internal testing lane :internal do - build_app(scheme: "SaayamApp") + build_app(scheme: "MyApp") upload_to_testflight( groups: ["Internal Testers"], @@ -352,7 +352,7 @@ end ```ruby # Fastlane lane for external testing lane :external do - build_app(scheme: "SaayamApp") + build_app(scheme: "MyApp") upload_to_testflight( groups: ["Beta Testers"], @@ -380,7 +380,7 @@ privacy_url.txt # Privacy policy URL **description.txt:** ``` -Saayam is a revolutionary fundraising platform that connects donors with meaningful causes in their local community. +MyApp is a revolutionary platform that connects users with meaningful services in their local community. Key Features: • Browse local fundraising requests @@ -389,7 +389,7 @@ Key Features: • Secure payment processing • Real-time updates on funded projects -Join thousands of users making a difference in their communities. Download Saayam today and start supporting causes that matter to you. +Join thousands of users making a difference in their communities. Download MyApp today and start using services that matter to you. ``` ### Screenshots @@ -415,7 +415,7 @@ languages([ "en-US" ]) -scheme("SaayamApp") +scheme("MyApp") clear_previous_screenshots(true) ``` @@ -479,14 +479,14 @@ clear_previous_screenshots(true) ```bash # Verbose build output -xcodebuild -workspace SaayamApp.xcworkspace \ - -scheme SaayamApp \ +xcodebuild -workspace MyApp.xcworkspace \ + -scheme MyApp \ -configuration Release \ -destination generic/platform=iOS \ archive | xcpretty # Check build settings -xcodebuild -workspace SaayamApp.xcworkspace \ - -scheme SaayamApp \ +xcodebuild -workspace MyApp.xcworkspace \ + -scheme MyApp \ -showBuildSettings ``` \ No newline at end of file diff --git a/10-release-process/versioning.md b/10-release-process/versioning.md index 13c39e5..a05a15c 100644 --- a/10-release-process/versioning.md +++ b/10-release-process/versioning.md @@ -52,7 +52,7 @@ const { execSync } = require('child_process'); const versionType = process.argv[2] || 'patch'; const packageJsonPath = path.join(__dirname, '../package.json'); const androidBuildGradle = path.join(__dirname, '../android/app/build.gradle'); -const iosPlistPath = path.join(__dirname, '../ios/SaayamApp/Info.plist'); +const iosPlistPath = path.join(__dirname, '../ios/MyApp/Info.plist'); // Read current version from package.json const packageJson = JSON.parse(fs.readFileSync(packageJsonPath, 'utf8')); @@ -218,8 +218,8 @@ npm install -D standard-version {"type": "perf", "section": "Performance Improvements"}, {"type": "test", "hidden": true} ], - "commitUrlFormat": "https://github.com/your-org/saayam-app/commit/{{hash}}", - "compareUrlFormat": "https://github.com/your-org/saayam-app/compare/{{previousTag}}...{{currentTag}}" + "commitUrlFormat": "https://github.com/your-org/myapp/commit/{{hash}}", + "compareUrlFormat": "https://github.com/your-org/myapp/compare/{{previousTag}}...{{currentTag}}" } ``` @@ -333,7 +333,7 @@ const path = require('path'); const packageJsonPath = path.join(__dirname, '../package.json'); const androidBuildGradle = path.join(__dirname, '../android/app/build.gradle'); -const iosPlistPath = path.join(__dirname, '../ios/SaayamApp/Info.plist'); +const iosPlistPath = path.join(__dirname, '../ios/MyApp/Info.plist'); function validateVersions() { // Get package.json version diff --git a/11-post-release-maintenance/ota-updates.md b/11-post-release-maintenance/ota-updates.md index 09dca02..3da6717 100644 --- a/11-post-release-maintenance/ota-updates.md +++ b/11-post-release-maintenance/ota-updates.md @@ -19,12 +19,12 @@ yarn add react-native-code-push code-push login # Create apps -code-push app add SaayamApp-iOS ios react-native -code-push app add SaayamApp-Android android react-native +code-push app add MyApp-iOS ios react-native +code-push app add MyApp-Android android react-native # Get deployment keys -code-push deployment ls SaayamApp-iOS -k -code-push deployment ls SaayamApp-Android -k +code-push deployment ls MyApp-iOS -k +code-push deployment ls MyApp-Android -k ``` ### Environment Configuration @@ -200,18 +200,18 @@ export class UpdateManager { ```bash # Deploy to staging first -code-push release-react SaayamApp-iOS ios --deploymentName Staging +code-push release-react MyApp-iOS ios --deploymentName Staging # Test staging deployment # If successful, promote to production with rollout percentage # Deploy to 10% of production users -code-push release-react SaayamApp-iOS ios --deploymentName Production --rollout 10% +code-push release-react MyApp-iOS ios --deploymentName Production --rollout 10% # Monitor metrics and gradually increase rollout -code-push patch SaayamApp-iOS Production --rollout 25% -code-push patch SaayamApp-iOS Production --rollout 50% -code-push patch SaayamApp-iOS Production --rollout 100% +code-push patch MyApp-iOS Production --rollout 25% +code-push patch MyApp-iOS Production --rollout 50% +code-push patch MyApp-iOS Production --rollout 100% ``` ### Automated Deployment @@ -236,7 +236,7 @@ if (!platform || !["ios", "android"].includes(platform)) { process.exit(1); } -const appName = platform === "ios" ? "SaayamApp-iOS" : "SaayamApp-Android"; +const appName = platform === "ios" ? "MyApp-iOS" : "MyApp-Android"; const deploymentName = environment === "production" ? "Production" : "Staging"; // Get version from package.json @@ -288,13 +288,13 @@ function notifyDeployment(appName, deployment, version, rollout) { ```bash # Check deployment history -code-push deployment history SaayamApp-iOS Production +code-push deployment history MyApp-iOS Production # Rollback to previous version -code-push rollback SaayamApp-iOS Production +code-push rollback MyApp-iOS Production # Rollback to specific label -code-push rollback SaayamApp-iOS Production --targetRelease v1.2.3 +code-push rollback MyApp-iOS Production --targetRelease v1.2.3 ``` ## Update Policies