GoKid is a mobile application developed to enhance communication between parents and children with special needs. This app provides a safe, controlled environment where children can interact with familiar images, promoting engagement and understanding, while offering parents tools to manage and personalize the experience.
Before starting, visit our official webpage for detailed project information.
To contribute:
- Fork the repository.
- Make your changes.
- Submit a pull request.
- For significant changes, open an issue to discuss your ideas before starting work.
-
Install Flutter SDK:
- Follow the Flutter Installation Guide to install Flutter SDK.
- Verify the installation:
flutter doctor
-
Install Dart SDK:
- Dart comes pre-installed with Flutter. Verify the Dart installation:
dart --version
- Dart comes pre-installed with Flutter. Verify the Dart installation:
-
Install VS Code:
- Install Visual Studio Code from the official website.
- Install the Flutter and Dart extensions from the VS Code Marketplace.
- Ensure VS Code recognizes the Flutter installation:
-
Install Android Studio (for Android builds):
- Install Android Studio and set up the emulator. Ensure
adb
(Android Debug Bridge) is accessible in your terminal. - Add the Android SDK to your system path (if not done automatically).
- Install Android Studio and set up the emulator. Ensure
-
Install Firebase CLI (optional but recommended for Firebase project management):
- Follow the Firebase CLI Setup Guide.
- Firebase Functions are used for backend operations, such as sending notifications.
-
Deploy the function to Firebase using the following command:
firebase deploy --only functions
-
After deployment, Firebase will provide a URL for your function. Use this URL to make HTTP requests and send notifications.
-
You can test the above function by making a
POST
request:curl -X POST https://<your-region>-<your-project>.cloudfunctions.net/sendNotification \ -H "Content-Type: application/json" \ -d '{ "token": "DEVICE_FCM_TOKEN", "title": "Hello!", "body": "This is a test notification." }'
- Firebase Admin SDK: The Firebase Admin SDK is used to send notifications. This SDK allows backend operations like sending notifications, reading/writing to the database, etc.
- FCM Token: The FCM token of the device receiving the notification is required. This token is obtained on the client side and sent to the backend.
-
Clone the Repository
- Clone the project repository from GitHub:
git clone https://github.com/erenmalkoc/gokid.git
- Clone the project repository from GitHub:
-
Install Dependencies
- Fetch all required Flutter packages:
flutter pub get
- Fetch all required Flutter packages:
-
Set Up Firebase Firebase is a critical part of the GoKid application. Follow these steps to configure it properly:
- Go to the Firebase Console and sign in with your Google account.
- Click Add Project and enter a project name (e.g.,
GoKid
). - Disable Google Analytics (optional) and click Create Project.
- In your Firebase project, enable the following services:
- Authentication:
- Go to the Authentication tab.
- Click Get Started.
- Enable the Email/Password sign-in method under the Sign-in method tab.
- Firestore Database:
- Go to the Firestore Database tab.
- Click Create Database.
- Start in Test Mode for development purposes (you can update rules later).
- Authentication:
-
Add an Android App:
- Click the Add App button and select Android.
- Enter your app's package name (e.g.,
com.gokid.mobile
). - Download the
google-services.json
file after configuration and place it in theandroid/app/
folder of your project.
-
Add an iOS App:
- Click the Add App button and select iOS.
- Enter your app’s bundle ID (e.g.,
com.gokid.mobile
). - Download the
GoogleService-Info.plist
file after configuration and place it in theios/Runner/
folder of your project.
-
Configure Environment Variables
- Create a
.env
file in the project root with your Firebase credentials. Use the format below:FIREBASE_API_KEY=your_api_key FIREBASE_AUTH_DOMAIN=your_project.firebaseapp.com FIREBASE_PROJECT_ID=your_project_id FIREBASE_STORAGE_BUCKET=your_project.appspot.com FIREBASE_MESSAGING_SENDER_ID=your_sender_id FIREBASE_APP_ID=your_app_id
- Refer to the example file
env.example
for guidance. - --OR--
- Just Copy-Paste google-services.json file from Firebase.(Basic Setup)
- Create a
-
Run the Application
- Open the project in VS Code:
- Open VS Code and click File > Open Folder.
- Navigate to the
GoKid
project folder and select it.
- Run the App:
- Press
F5
or go to the Run and Debug menu in VS Code. - Select the desired emulator/device from the device selection dropdown.
- Run the app.
- Press
- Open the project in VS Code:
-
Build the Application
- Build the app for deployment:
- Android (APK):
flutter build apk --release
- Android (APK):
- Build the app for deployment:
GoKid is licensed under the GPLv3 License.
This license allows others to freely use, modify, and distribute the application under the terms defined in the license.
For full details, refer to the LICENSE file.
The GoKid Wiki provides additional resources, guides, and community contributions. Here you can find:
- User Guide: Step-by-step instructions on how to set up and use the app.
- Developer Documentation: Information for developers looking to contribute, including setup instructions and coding standards.
- FAQ: Common questions and answers about the app and its features.
Visit the GoKid Wiki for more details and resources.
For additional information, feedback, or support, please reach out through the following channels:
- Email: [email protected]
- Website: GoKid Official Website
- Terms & Privacy: GoKid Terms & Privacy
© 2024 STEM Educators Associations. All Rights Reserved.