Giter Site home page Giter Site logo

lucastssb / soca Goto Github PK

View Code? Open in Web Editor NEW

This project forked from firgia/soca

0.0 0.0 1.0 7.84 MB

Soca is a blind person helper app that integrates with Siri and Google Assistant. This app builds with the Flutter framework.

License: MIT License

JavaScript 0.03% Ruby 0.19% Objective-C 0.01% Kotlin 0.10% Dart 93.88% TypeScript 5.43% Swift 0.36%

soca's Introduction

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..

soca's People

Contributors

firgia avatar

Forkers

lucasbarretoluz

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.