Skip to content

Latest commit

 

History

History
84 lines (62 loc) · 6.26 KB

README.md

File metadata and controls

84 lines (62 loc) · 6.26 KB

up

Soca: Blind person helper

Soca is a blind-person helper app to connects blind people and volunteers. Soca used video calling and integrated with Google Assistant and Siri.

Getting Started

The owner still migrates the old project to the new Flutter project with a Bloc pattern. 
Some features are not available on this new Flutter project.

This section describes an overview of the project being built.

Environtment

This project uses Flutter Flavor and has 3 environments.

Development Staging Production
Debuging
App Identifier com.firgia.soca.dev com.firgia.soca.stg com.firgia.soca
App Name Android Soca - Dev Soca - Stg Soca
App Name IOS Soca - Dev Soca - Stg Soca
App Icons d s p
  • Development: Select this environment while updating or adding new features to test.
  • Staging: Select this environment if you want to test the release app and share the App with your team.
  • Production: Select this environment when the App is ready to deploy for public.

Third Party

We used some third parties to sprint the development process. Class Diagram - Page 1 (3)

  • Firebase Authentication: provides backend services, easy-to-use SDKs, and ready-made UI libraries to authenticate users to our app.
  • Firebase Realtime Database: a cloud-hosted NoSQL database that lets us store and sync data between our users in realtime.
  • Firebase Cloud Functions: a serverless framework that lets us automatically run backend code in response to events triggered by Firebase features and HTTPS requests.
  • Firebase Cloud Firestore: a NoSQL document database that lets us easily store, sync, and query data for our mobile and web apps - at global scale.
  • Firebase Cloud Storage a powerful, simple, and cost-effective object storage service built for Google scale.
  • Agora: is the leading video, voice and live interactive streaming platform, helping developers deliver rich in-app experiences—including embedded voice and video chat, real-time recording, interactive live streaming, and real-time messaging.
  • OneSignal: The market-leading self-serve customer engagement solution for Push Notifications, Email, SMS & In-App.

Setup

This project uses Flavor for the environment. You'll need to configure the project before you run or build the project. Please follow this step to configure it.

Firebase Configuration

We use firebase service to store the data and handle the Backend section. Don't hesitate to contact the code owner if you need to access the Firebase project for a real project. But if you want to use this project for personal only, you can create 3 Firebase projects (for development, staging & Production). You can follow this step if you have a prepared Firebase project (Development, Staging, and Production).

Android

  1. Open your Firebase project > Project Settings > download the google-services.json file (if you don't have it, add a new android app by clicking the "Add app" button on your Firebase project Settings). Group 2

  2. Now you have 3 google-services.json with different environments (Development, Staging, and Production.

  3. Move the google-services.json to folder android/app/src/{environtment} (remember you need to move to a specific environment). Group 5

  4. Done!

(Notes: You will need to add "SHA certificate fingerprints" for using Google Auth features.)

IOS

  1. Open your Firebase project > Project Settings > download the GoogleService-info.plist file. (if you don't have it, add a new iOS app by clicking the "Add app" button on your Firebase project Settings). Group 7

  2. Now you have 3 GoogleService-info.plist file with different environments (Development, Staging, and Production).

  3. Create a "config" folder, and create three folders inside "config" folder with the following name "production", "development", and "staging". Move all GoogleService-Info.plist to a specific environment folder.

Screenshot 2023-03-11 at 20 39 06

  1. Open your project on XCode.

  2. Drag your "config" folder to runner section.

  3. Check "copy items if needed", and "Runner". And then click finish button. Group 8

  4. You will see the config folder on runner after click finish button. Group 9

  5. Open GoogleService-Info.plist on your config > Development folder and copy "REVERSED_CLIENT_ID" value. Group 10

  6. Go to targets Runner > Build Settings > fill out filter with "Reversed_Client_ID", and paste your REVERSED_CLIENT_ID to Debug-Development, Profile-Development, and Release-Development value. Group 11

  7. Repeat steps 8 and 9 for the staging and production environments.

  8. Done!

MORE CONFIGURATION WILL BE ADDED SOON..