Skip to content

garima-bothra/ios

 
 

Repository files navigation

Amahi iOS App

Amahi iOS App, new from scratch, in Swift.

Build Status master

Build Status beta

Requirements

  • iOS 9.0+
  • Xcode 9.0+

Setup

  • Do a clean command + shift + k or command + option + shift + K
  • Close Xcode
  • Open a terminal window, and $ cd into your project directory.
  • Navigate to project directory where the Podfile exist.
  • Run $ pod install
  • You may require to run $ pod update
  • $ open AmahiAnywhere.xcworkspace and build.
  • The build may fail with a missing ApiConfig.swift file
  • This file has developer/production credentials/endpoints and should not be shared. Email support at amahi dot org for a copy of this file.

Code Practices

Please help us follow the best practice to make it easy for the reviewer as well as the contributor.

Contributing and developing a feature

  • Create a new branch with a meaningful name git checkout -b branch_name.
  • Develop your feature on Xcode IDE and run it using the simulator or connecting your own iphone.
  • Add the files you changed git add file_name.
  • Commit your changes git commit -m "Message briefly explaining the feature".
  • Keep one commit per feature. If you forgot to add changes, you can edit the previous commit git commit --amend.
  • Push to your repo git push origin branch-name.
  • Go into the Github repo and create a pull request explaining your changes.
  • If you are requested to make changes, edit your commit using git commit --amend, push again and the pull request will edit automatically.
  • If the PR is related to any front end change, please attach relevant screenshots in the pull request description.
  • When creating PRs or commiting changes. Please ensure the sensitive contents of the ApiConfig.swift file are ignored. Such PRs will be declined.

Pods

  • Alamofire: Elegant HTTP Networking in Swift

  • EVReflection: Reflection based (Dictionary, CKRecord, NSManagedObject, Realm, JSON and XML) object mapping with extensions for Alamofire

  • IQKeyboardManagerSwift: Codeless drop-in universal library allows to prevent issues of keyboard sliding up and cover UITextField/UITextView with one line of code

  • MBProgressHUD: It is an iOS drop-in class that displays a translucent HUD with an indicator and/or labels while work is being done in a background thread.

  • MobileVLCKit: It is an Objective-C wrapper for libvlc's external interface on iOS.

  • SkyFloatingLabelTextField: A beautiful and flexible text field control implementation of "Float Label Pattern". Written in Swift.

  • LightBox: Provides a convenient and easy to use image viewer for iOS app, packed with with features like swipe left/right to change, double tap to zoom, pinch to zoom, caching etc.

  • Cache: Cache is built based on Chain-of-responsibility pattern, in which there are many processing objects, each knows how to do 1 task and delegates to the next one, so can you compose Storages the way you like.

  • Imaginary: Using remote images in an application.This process should be easy, straight-forward and hassle free, and with Imaginary.

  • ReachabilitySwift:Reachability.swift is a replacement for Apple's Reachability sample, re-written in Swift with closures.

Support

If you have questions about Amahi or just want to interact, you can contact us via IRC channel. Don't forget that we are open to suggestions, extensions or adaptations. Feel free to discuss or propose new ideas for projects!

This app will go into the iOS app store and replace the current version there written in Objective C.

About

Amahi iOS App

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Languages

  • Swift 98.3%
  • Shell 1.3%
  • Other 0.4%