SUSI AI iOS app

Related tags

SwiftUI App susi_iOS
Overview

Meet SUSI.AI, Your Artificial Intelligence for Personal Assistants,
Robots, Help Desks and Chatbots. Ask it questions.
Tell it to do things. Always ready to help.


Download on the app store

iOS App for SUSI.AI

CircleCI Codacy Badge Join the chat at gitter Preview the app Twitter Follow

The main feature of the app is to provide a conversational interface to provide intelligent answers using the loklak/AskSusi infrastructure. The SUSI iOS App make use of the APIs to access information from the hosted server. The app also offers login functionalities to connect to other services and stored personal data. Additionally the application uses data provided by the user's phone to improve Susi answers. Geolocation information for example helps to offer better answers related to questions about "things nearby". Another main feature of the app is to connect your iPhone/iPad with SUSI Smart Speaker.

Roadmap

Make the app functionality and UI/UX similar to the Android app for Susi.

Development Setup

This project is written in Swift 4.2 and Xcode 10 is required for development.

Before you begin, you should already have the Xcode downloaded and set up correctly. You can find a guide on how to do this here: Setting up Xcode

       Steps to install Cocoapods (one time installation)
  • Run sudo gem install cocoapods to install the latest version of cocoapods. To install cocoapods from HomeBrew, brew install cocoapods.

  • Next, run pod setup for setting up cocoapods master repo. You may include --verbose for more descriptive logs. NOTE: This might take a while to setup depending on your network speed.

Setting up the iOS Project

  1. Download the susi_iOS project source. You can do this either by forking and cloning the repository (recommended if you plan on pushing changes) or by downloading it as a ZIP file and extracting it. OR
$ git clone https://github.com/fossasia/susi_iOS.git
  1. Navigate to the unzipped folder and run pod install.

  2. Open Susi.xcworkspace from the folder.

  3. Build the project (⌘+B) and check for any errors.

  4. Run the app (⌘+R).and test it.

Communication

Please join our mailing list to discuss questions regarding the project: https://groups.google.com/forum/#!forum/susiai

Our chat channel is on gitter here: https://gitter.im/fossasia/susi_iOS

Development

A native iOS app. The answers for user queries comes from SUSI Server which further uses skills defined in SUSI Skill Data.

Screenshots

Branch Policy

Note: For the initialization period all commits go directly to the master branch. In the next stages we follow the branch policy as below:

We have the following branches

  • ipa All the automatic builds generates, i.e., the ipas go into this branch
  • master This contains shipped code. After significant features/bugfixes are accumulated on development, we make a version update, and make a release.
  • development All development goes on in this branch. If you're making a contribution, you are supposed to make a pull request to development.

Code practices

Please help us follow the best practice to make it easy for the reviewer as well as the contributor. We want to focus on the code quality more than on managing pull request ethics.

  • Single commit per pull request
  • For writing commit messages please read the COMMITSTYLE carefully. Kindly adhere to the guidelines.
  • Follow uniform design practices. The design language must be consistent throughout the app.
  • The pull request will not get merged until and unless the commits are squashed. In case there are multiple commits on the PR, the commit author needs to squash them and not the maintainers cherrypicking and merging squashes.
  • If the PR is related to any front end change, please attach relevant screenshots in the pull request description.
  • Please follow the guides and code standards: Swift Style Guide
  • Please follow the good iOS development practices: iOS Good Practices
  • For contributors new to Git please have a look at the Git Configuration commands .

License

This project is currently licensed under the Apache License Version 2.0. A copy of LICENSE.md should be present along with the source code. To obtain the software under a different license, please contact FOSSASIA.

Comments
  • Replaced PieChart with BarChart for five star ratings UI on Skill Detail screen

    Replaced PieChart with BarChart for five star ratings UI on Skill Detail screen

    Fixes #328

    Changes: Replaced PieChart with BarChart for five-star rating UI on Skill Detail screen

    Screenshots for the change:

    Before After
    opened by jogendra 17
  • Adding support for playing youtube video in the app

    Adding support for playing youtube video in the app

    Fixes #294

    Changes: Added support for playing youtube video in the app

    • Implemented support for video_play action
    • YouTubePlayer delegate methods for auto-playing video
    • Presenting player using PlayerViewController

    Video Demonstration: https://drive.google.com/open?id=17I6tp43pJWfVe4HNmv2ZP8Rt_Vv2hlmo

    Screenshots for the change:

    Priority: High Feature 
    opened by jogendra 15
  • Enable/Disable mic input button based on STT availability

    Enable/Disable mic input button based on STT availability

    Actual Behaviour

    The mic button shows even if STT is not available.

    Expected Behaviour

    The mic button should show up only when STT is available, the send button should show up otherwise.

    Would you like to work on the issue?

    No.

    Hacktoberfest 
    opened by chashmeetsingh 12
  • feat: Created onboarding screens for app

    feat: Created onboarding screens for app

    Fixes #269

    Changes:

    Designed and implemented onboarding screens for the app from scratch.

    • There are four onboardings screens.
    • Each screen contains an image, title, and description about SUSI iOS features.
    • Skip button to directly go to Login screen - on the top for first three and on the bottom for last one.
    • Onboarding will only show once when the user first time launches the app on the device. It uses lanuchedBefore UserDefaults key to store information about user launches app for first time or not.
    • Left and Right Swiping is also enabled; user can go forward and backward to onboarding screens by swiping left and right.
    • UI Test - Added OnboardingUITests.
    • All the onboarding screens are using Material design.

    Screenshots for the change:

    opened by jogendra 11
  • thumbs up, thumbs down cannot be changed and fixed feedback not accepting

    thumbs up, thumbs down cannot be changed and fixed feedback not accepting

    Fixes #380, #385

    Changes:

    • Remove thumbs up and thumbs after successfully submitted feedback to prevent multiple feedbacks
    • Fixed feedback not accepting issue

    Screenshots for the change:

    Before feedback (News) After feedback (News)
    enhancement 
    opened by jogendra 9
  • Connect smart speaker with SUSI iOS App using Wifi

    Connect smart speaker with SUSI iOS App using Wifi

    opened by jogendra 8
  • Handle no network connection

    Handle no network connection

    Actual Behaviour

    No indicator shows up.

    Expected Behaviour

    An indicator should show up whenever the internet connection is down.

    Steps to reproduce it

    Try disconnecting from Wifi and sending a message from the chat view.

    Would you like to work on the issue?

    No.

    Make use of the Reachability pod

    Hacktoberfest 
    opened by chashmeetsingh 7
  • Anonymize the user email address in Feedback section

    Anonymize the user email address in Feedback section

    Fixes #408, Parent issue #399

    Changes: Anonymize the feedback and only show emails until the @ sign, e.g. "mariobehling@...".

    Screenshots for the change:

    Skill Detail Screen See All Feedback
    enhancement 
    opened by jogendra 6
  • Downward Close Button on SignUpViewController

    Downward Close Button on SignUpViewController

    Changes: SignUpViewController is being presented modally so there should be a dismiss button pointing downwards instead of a back button. This PR changes the orientation of the back button by 90° thus not adding another image asset for it.

    Screenshots for the change: Before Changes: beforechange

    After Changes:afterchange

    opened by iamsimranjot 6
  • Add a section to allow the user to save his/her favourite skills #322

    Add a section to allow the user to save his/her favourite skills #322

       struct landmarkList : View {
           @state var showFavoritesOnly = false
    
           var body : some View{
               NavigationView{
                   List(landmarkData) { landmark in
                       if !self,showFavoritesOnly || landmark.isFavorite {
                   NavigaitonLink(destination: LandmarkDetail(landmark: landmark))
                        Landmarkrow(landmark: landmark)
    
                    }
               }
               .navigationBarTitle(Text("Landmarks"))
           }
       }
    

    Fixes #[Add issue number here. If you do not solve the issue entirely, please change the message e.g. "First steps for issues #IssueNumber]

    Changes: [Add here what changes were made in this issue and if possible provide links.]

    Screenshots for the change:

    opened by Sangu80 0
  • Create Architecture.md

    Create Architecture.md

    Created Architecture.md

    This documents help new starters to get started quicky by helping them with the design pattern of the delegate and some resources to know more about that design pattern

    opened by swiftlysingh 0
  • Update Pods and Remove Errors

    Update Pods and Remove Errors

    -Updated Pods -Removed Errors in -ChatViewController -LoginViewController -SelectViewController -SkillListingViewController -noConnectionViewController

    opened by swiftlysingh 0
  • Update project to Swift 5.

    Update project to Swift 5.

    Including recommended localization and internationalization changes.

    Fixes #[First steps for issue #539]

    Changes: [Migrated project to Swift 5 and ran recommended localization and internationalization changes.]

    TODO: [Dependencies need to be updated.]

    opened by coltonlemmon 0
Owner
FOSSASIA
Open Technologies developed in Asia and Around the Globe
FOSSASIA
In this mini app covered the concepts like basics of SwiftUI and Navigations and Animations and List with CRUD functions and MVVM and App Launch and App icons adding and also applied persistence using UserDefaults Concept.

TodoList In this application used the concepts from the beginner level project of SwiftUI_Evolve_1 The following concepts covered in this mini app Swi

Sivaram Yadav 2 Dec 4, 2021
NetFun-ios-app - iOS app using BFF service to display processed data.

NetFun-ios-app iOS app using BFF service to display processed data. The iOS demo developed in SwiftUI and it uses BFF service to show expected UI comp

Minhaz Panara 0 Jan 3, 2022
Porting the example app from our Advanced iOS App Architecture book from UIKit to SwiftUI.

SwiftUI example app: Koober We're porting the example app from our Advanced iOS App Architecture book from UIKit to SwiftUI and we are sharing the cod

raywenderlich 55 Dec 19, 2022
SwiftUI App to view the App Activity Record from iOS 15

App Activity Viewer A viewer for the iOS 15 "Record App Activity" export. FAQ How do I create an App Activity Report? Go to the "Settings" app of your

Jannik Arndt 13 Nov 16, 2022
iOS app for Ribbit, Broker API Reference App

Ribbit Reference Implementation (iOS) The reference implementation for designing the iOS user interface of a broker-dealer trading application with th

Alpaca 23 Dec 14, 2022
The app provides additional actions for the Shortcuts app on macOS and iOS.

Actions Supercharge your shortcuts The app provides additional actions for the Shortcuts app on macOS and iOS. Submit action idea (Submit an issue bef

Sindre Sorhus 1.2k Dec 29, 2022
A todo list iOS app developed with swift5 and coredata to persist data, this app help people organise their tasks on categories.

A todo list iOS app developed with swift5 and coredata to persist data, this app help people organise their tasks on categories. The app is simple, intuitive, and easy to use and update tasks informations.

null 1 Oct 10, 2022
The app demonstrates how to use Firebase in a SwiftUI iOS app

Firebase SwiftUIDemo app This app demonstrates how to use Firebase in a SwiftUI iOS app. Firebase Setup Go to firebase.com Click new project. Copy app

Andrew Gholson 0 Nov 28, 2021
An iOS app that visually clones Spotify's app and consumes the official Spotify's Web API to show(and play) songs, podcasts, artists and more.

SpotifyClone An iOS app that visually clones Spotify's app and consumes the official Spotify's Web API to show(and play) songs, podcasts, artists and

Gabriel Denoni 11 Dec 27, 2021
IOS-Quiz-App- - A trivia quiz app built with Swift using MVC structure

Quiz App A trivia quiz app built with Swift using MVC structure. Default Quiz

null 0 Feb 25, 2022
Ios-weather-app - A simple weather app with swift

AHOY Assignment Weather app Main Screen Settings Architecture The Architecture u

null 0 Jan 29, 2022
Marvel-App - Marvel App For iOS Using Swift

App Previews Home Screen Detail View Features Async await UICollectionViewCompos

null 0 Feb 14, 2022
Small app trying to recreate the Github's repos section from the iOS app with RxSwift and .nibs

Github Profile Repos Small app trying to recreate the Github's repos section from the iOS app with RxSwift and .nibs. This project is currently in pro

Leonardo 1 Apr 5, 2022
An IOS app that shows big 6 different animals from different National Parks from Africa, App available for mactosh

An IOS app that shows big 6 different animals from different National Parks from Africa, App available for mactosh. Africa was developed using SwiftUI

wykee2 2 Apr 2, 2022
This To-Do app was developed using Swift and SwiftUI and works on iOS, MacOS (Apple Silicon) and WatchOS. The tasks are kept on storage even when the app is restarted.

ToDo-SwiftUI This app has a lot of sentimental value for me, given that it helped me a lot to understand the process of doing an iOS app and became th

Augusto Galindo Ali 6 Jul 12, 2022
Booky heavily-commented demo app built to explore Apple's new 'App Intents' framework introduced in iOS 16

Booky Demo App ℹ️ ABOUT Booky is a work-in-progress, heavily-commented demo app built to explore Apple's new 'App Intents' framework introduced in iOS

Alex Hay 77 Jan 4, 2023
Quotes App is quotes browsing app which is built with Quotable Free API completely in SwiftUI.

Quotes App is quotes browsing app which is built with Quotable Free API completely in SwiftUI. You can watch the whole journey of building this

Dheeraj Kumar Sharma 32 Nov 22, 2022
Stocks-App - App that allows the user to track stocks of their choice

Stocks-App App that allows the user to track stocks of their choice (Coming soon

Eli Hartnett 0 Jul 9, 2022