/susi_iOS

SUSI AI iOS app http://susi.ai

Primary LanguageSwiftApache License 2.0Apache-2.0

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.