Skip to content
/ iOS Public

Betterpick - the iOS application for FOOTM. Browse, search and filter FIFA19 players, teams and competitions. ⚽️

Notifications You must be signed in to change notification settings

uzh-footm/iOS

Repository files navigation

Betterpick for iOS Build Status

Welcome to the open source iOS application that lets you browse players and clubs from FIFA19.

Getting Started

  1. Install Xcode from Apple.
  2. Install cocoapods.
  3. Install dependencies (run this in the root folder of the repo)
pod install
  1. Open Betterpick.xcworkspace
  2. Take a look at the AppDelegate.application(application:didFinishLaunchingWithOptions:) func where things kick off :)
  3. (Optional) build and run Betterpick Mock target to preview the app with hardcoded mock data.

Project Info

iOS Deployment Target Architecture Autolayout UnitTests UITests
11.0+ MVVM-C Code (no storyboards) ✅

Features

  • Browse FIFA Clubs from all competitions (leagues).
  • Browse between FIFA players with various filtering options (OVR range, nationality, position...)
  • Show player and team details
  • Search players / clubs by name
  • Create custom teams

Project Structure

├── Betterpick
│   ├── AppDelegate.swift                # App entrypoint
│   ├── Discover                         # constructs related to the Discover screen
│   │   ├── Class
│   │   ├── Coordinator
│   │   ├── Extensions
│   │   ├── Model
│   │   ├── Protocol
│   │   ├── View
│   │   ├── ViewController
│   │   └── ViewModel
│   ├── MyTeams
│   ├── Player
│   ├── Settings
│   ├── Supporting Files                 # configs, .plist, Xcode assets
│   ├── TabBar                           # The root ViewControllers and TabBar related stuff
│   ├── Team
│   └── common                           # constructs that are reused across multiple screens
├── assets
│   └── screenshots                      # the screenshots
├── docs
│   └── src                              # generated HTML docs by Jazzy
└── fastlane
    ├── Appfile
    ├── Fastfile                         # Main fastlane setup file
    ├── Matchfile
    ├── Snapfile
    └── actions                          # custom fastlane actions

Documentation

Documentation is available via GitHub Pages. Updated on each new app release.

Tools and 3rd party software

  • fastlane.tools 🚀 - responsible for automating common tasks, such as:
    • testing - starts the UI and Unit tests on the main target
    $ bundle exec fastlane tests
    • creating new releases
    $ bundle exec fastlane pr_release 
  • Jazzy 🎺 - generates the project documentation
  • SwiftLint
  • SDWebImage
  • Travis-CI 🤖 for continuous integration (running time-consuming lanes such as deployment to the App Store / TestFlight)

Screenshots

Discover Teams Team Detail Player Detail

Contributing

This project is intended to be an educational resource for either our team and also anyone looking for a small-sized iOS project with:

  • MVVM-C architecture
  • Autolayout done without storyboards and any autolayout DSL. Pure UIKit.
  • Custom UI components (e.g TappableLabel, TabBarStackView, ...)
  • Fastlane scripts that work on/with Travis

Please use issues and pull requests accordingly. Generally speaking, you would want to make a pull request from and to the develop branch.

TestFlight invites are open.

LICENSE

MIT

Finally, if you made it here and this project has helped you in any way, please let me know via Twitter. 🙂

About

Betterpick - the iOS application for FOOTM. Browse, search and filter FIFA19 players, teams and competitions. ⚽️

Topics

Resources

Stars

Watchers

Forks

Packages

No packages published