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