Git Product home page Git Product logo

baseapp-ios's Introduction

Bitrise Status Swift


BaseApp iOS is a template app that has all the necessary features needed for rapid app development.

Table of Contents

Features

  • Networking with Raccoon
  • Keychain support with Keychain Access
  • Reachability status for checking network connectivity
  • Auto mapping to Core Data with Groot
  • Local storage with Core Data
  • App logging with SwiftyBeaver
  • OAuth1 Authentication support for Twitter
  • OAuth2 Authentication support for Facebook and LinkedIn
  • Deep Link support for forgot password, change email and confirm email using BranchIO
  • Pagination
  • Push Notification registration and management
  • Email login
  • Email signup
  • Change password
  • Session management
  • Handles switching between application flow and authentication flow
  • Basic user feed that can be customized
  • Basic settings view that can be customized
  • Basic profile view that can be customized
  • Basic update profile view that can be customized
  • Show basic tutorial flow to new users that can be customized with Onboard
  • Show progress indicators with SVProgressHUD
  • Show navigation bar progress with KYNavigationProgress
  • Show alerts with Dodo or SCLAlertView
  • Keyboard management with IQKeyboardManager
  • Dynamic binding of values for real time updates without the need for using Notification or KVO
  • Unit tests for app logic used
  • Integration tests for testing view controllers using KIF (Still in progress...)
  • MVVM (Model-View-View Model) Architecture for easy maintenance, scalability, and testing
  • Auto deployment to Fabric and iTunes Connect using Fastlane
  • Swift linter for enforcing Swift style and conventions using SwiftLint

Requirements

  • iOS 9.0+
  • Xcode 9.0+
  • Homebrew 1.3.+
  • CocoaPods 1.2.1
  • Swift 4.0+
  • Ruby 2.3.1
  • Fastlane 2.69.2+
  • SwiftLint 0.21+

Installation

Homebrew

Before starting development, you should have Homebrew installed in order to continue setting up BaseApp iOS V2 locally. Homebrew is a package manager for macOS. To install, run the following command:

$ /usr/bin/ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)"

Ruby

Before installing Fastlane and CocoaPods, you will need the correct version of Ruby. For installing and managing different versions of Ruby on your local machine, we recommend using Ruby Version Manager (RVM). Begin with the following command:

$ gpg --keyserver hkp://keys.gnupg.net --recv-keys 409B6B1796C275462A1703113804BB82D39DC0E3

Then run the following command to install RVM:

$ \curl -sSL https://get.rvm.io | bash -s stable

If the previous step is successful, run the following command to install Ruby 2.3.1:

$ rvm install ruby-2.3.1

Now run the following command to check that the correct version is being used:

$ ruby -v

The version reported should look like this:

ruby 2.3.1p112 (2016-04-26 revision 54768) [x86_64-darwin15]

Fastlane

You will need Fastlane installed in order to test sending out builds locally and generating push certificates. You can install it with the following command:

$ gem install fastlane

CocoaPods

CocoaPods is a dependency manager for Cocoa projects. You can install it with the following command:

$ gem install cocoapods

SwiftLint

You will need SwiftLint installed in order to check all avaliables or utlize any of its autocorrect features. You can install it with the following command:

$ brew install swiftlint

Setup

After installing SwiftLint, use the following command to clone the repo:

$ git clone [email protected]:silverlogic/BaseApp-iOS.git

Then run the following command to install the dependencies, and open the project in Xcode:

$ make open_xcode

baseapp-ios's People

Contributors

the-freshlord avatar

Stargazers

MohsinAli avatar

Watchers

MohsinAli avatar  avatar

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.