10 Commits
0.1.5 ... 0.2.1

Author SHA1 Message Date
Matej Bačo
a2314c8920 Merge pull request #7 from appwrite/fix-flutter-endpoint
Fix flutter endpoint
2025-08-11 12:30:53 +02:00
Khushboo Verma
f2caf6f028 Fix flutter endpoint 2025-08-11 15:52:36 +05:30
Matej Bačo
8aa2aec2d6 Merge pull request #6 from appwrite/fix-build-script
Simplify flutter starter by removing build script
2025-08-11 10:55:44 +02:00
Khushboo Verma
8e2361b825 Update placeholders 2025-08-08 19:34:58 +05:30
Khushboo Verma
9453e45ced Simplify flutter starter 2025-08-08 19:27:22 +05:30
Khushboo Verma
c0cae9fcb7 If no params passed, default to web 2025-08-08 18:29:14 +05:30
Khushboo Verma
fcc2384a5e Fix build script for flutter 2025-08-08 17:18:11 +05:30
Matej Bačo
774da7ad6c Avoid prepare sh 2025-05-20 11:34:27 +00:00
Matej Bačo
2d645274a9 Merge pull request #3 from appwrite/fix-cloud-build
Fix: Prepare for Cloud build
2025-05-20 10:39:32 +02:00
Matej Bačo
b3d927662c PR review improv 2025-05-20 08:39:21 +00:00
7 changed files with 50 additions and 40 deletions

View File

@@ -1,3 +0,0 @@
APPWRITE_PROJECT_ID=
APPWRITE_PROJECT_NAME=
APPWRITE_PUBLIC_ENDPOINT=

View File

@@ -24,16 +24,39 @@ Alternatively, open the repository URL in `Android Studio` to clone it directly.
## 🛠️ Development Guide
1. **Configure Appwrite**
Navigate to `lib/data/repository/appwrite_repository.dart` and update the values to match your
Appwrite project credentials.
Open `lib/config/environment.dart` and update the values with your Appwrite project credentials:
```dart
class Environment {
static const String appwritePublicEndpoint = '[appwritePublicEndpoint]';
static const String appwriteProjectId = '[appwriteProjectId]';
static const String appwriteProjectName = '[appwriteProjectName]';
}
```
2. **Customize as Needed**
Modify the starter kit to suit your app's requirements. Adjust UI, features, or backend
integrations as per your needs.
3. **Run the App**
Select a target device (emulator or a connected physical device) in `Android Studio`, and
click **Run** to start the app.
Select a target device and run the app:
```bash
# List available devices
flutter devices
# Run on a specific device (replace 'device-id' with actual device)
flutter run -d device-id
# Examples:
flutter run -d chrome # Web
flutter run -d "iPhone 15" # iOS Simulator
flutter run -d emulator-5554 # Android Emulator
flutter run -d macos # macOS Desktop
```
**Build for Web:**
```bash
flutter build web
```
---
@@ -46,5 +69,5 @@ production : https://docs.flutter.dev/deployment
## 💡 Additional Notes
- This starter project is designed to streamline your Android development with Appwrite.
- This starter project is designed to streamline your Flutter development with Appwrite.
- Refer to the [Appwrite Documentation](https://appwrite.io/docs) for detailed integration guidance.

View File

@@ -1,26 +0,0 @@
#!/bin/bash
# Check if .env file exists
if [ ! -f .env ]; then
echo "Error: .env file not found!"
exit 1
fi
# Read .env file and convert it to --dart-define arguments
ARGS=""
while IFS='=' read -r key value || [ -n "$key" ]; do
# Ignore empty lines and comments
if [[ -n "$key" && ! "$key" =~ ^# ]]; then
ARGS+=" --dart-define=${key}=\"${value}\""
fi
done < .env
# Build Flutter web
eval flutter build web "$ARGS"
# If --preview flag is provided, run a local preview server
if [ "$1" == "--preview" ]; then
echo "Starting preview server at http://localhost:3000..."
cd build/web || exit 1
python3 -m http.server 3000
fi

View File

@@ -0,0 +1,5 @@
class Environment {
static const String appwritePublicEndpoint = '[appwritePublicEndpoint]';
static const String appwriteProjectId = '[appwriteProjectId]';
static const String appwriteProjectName = '[appwriteProjectName]';
}

View File

@@ -2,15 +2,16 @@ import 'package:intl/intl.dart';
import 'package:appwrite/appwrite.dart';
import 'package:appwrite_flutter_starter_kit/data/models/log.dart';
import 'package:appwrite_flutter_starter_kit/data/models/project_info.dart';
import 'package:appwrite_flutter_starter_kit/config/environment.dart';
/// A repository responsible for handling network interactions with the Appwrite server.
///
/// It provides a helper method to ping the server.
class AppwriteRepository {
static const String pingPath = "/ping";
static const String appwriteProjectId = String.fromEnvironment('APPWRITE_PROJECT_ID');
static const String appwriteProjectName = String.fromEnvironment('APPWRITE_PROJECT_NAME');
static const String appwritePublicEndpoint = String.fromEnvironment('APPWRITE_PUBLIC_ENDPOINT');
static const String appwriteProjectId = Environment.appwriteProjectId;
static const String appwriteProjectName = Environment.appwriteProjectName;
static const String appwritePublicEndpoint = Environment.appwritePublicEndpoint;
final Client _client = Client()
.setProject(appwriteProjectId)

13
prepare-env.sh Normal file
View File

@@ -0,0 +1,13 @@
#!/bin/sh
set -e
# Script used during deployment on Appwrite Sites
# Replace [appwritePublicEndpoint] with APPWRITE_PUBLIC_ENDPOINT in environment file
sed -i "s|\[appwritePublicEndpoint\]|$APPWRITE_PUBLIC_ENDPOINT|g" lib/config/environment.dart
# Replace [appwriteProjectId] with APPWRITE_PROJECT_ID in environment file
sed -i "s|\[appwriteProjectId\]|$APPWRITE_PROJECT_ID|g" lib/config/environment.dart
# Replace [appwriteProjectName] with APPWRITE_PROJECT_NAME in environment file
sed -i "s|\[appwriteProjectName\]|$APPWRITE_PROJECT_NAME|g" lib/config/environment.dart

View File

@@ -1,3 +0,0 @@
echo "APPWRITE_PROJECT_ID=$APPWRITE_PROJECT_ID" >> .env
echo "APPWRITE_PROJECT_NAME=$APPWRITE_PROJECT_NAME" >> .env
echo "APPWRITE_PUBLIC_ENDPOINT=$APPWRITE_PUBLIC_ENDPOINT" >> .env