Skip to content

shusuke0812/ios-engineer-codecheck

Repository files navigation

YUMEMI.inc, Coding test for iOS engineer

System requirements

  • Xcode version 15.0 (15A240d)
  • pod version 1.13.0
  • target iOS 13.0

Get started

Git

  1. Install git flow command
$ brew install git-flow

Grove the code

  1. Clone this code in your PC
  2. Change a branch to develop
  3. Install packages
$ pod install
  1. Open project with Xcode
$ open iOSEngineerCodeCheck.xcworkspace

Design

  • Create one ViewController and one Stroyboard for one screen
  • Use Redux
    • class relationship
    • file name
      • screen name + class name.swift

UI

Initial Searching Detail
Initial Searching Detail
iPad
iPad

Reference

Note

Find Xcode env variables

$ xcodebuild -showBuildSettings | grep "PROJECT"

GraphQL GitHub

  1. Install Apollo sdk
$ npm install -g apollo
  • node 14.3.0
  1. Get GitHub access token

save in ``./github-access-token.json`(setting .gitignore)

  1. Get GitHub API Schema
$ apollo schema:download --endpoint="https://api.github.com/graphql" --header "Authorization: Bearer {ACCESS_TOKEN}"
  1. Create query.graphql
  2. Install Apollo, CLI as SwiftPackageManager doc
  3. Create config file
$ ./apollo-ios-cli init --schema-name GitHubGraphQL --module-type swiftPackageManager
  1. Update apollo-codegen-config.json as following;
"schemaSearchPaths" : [
  "./schema.json"
]
  1. Generate Package
$ ./apollo-ios-cli generate
  1. Add Package(GitHubGraphQL) in Xcode project
  • Using SwiftPackageManager
  • Select Xcode > File > Add Package Dependencies... > Add Local...
  • Select GitHubGraphQL in root and select the target

❗️ GraphQL Package is belong to gitignore like Pods because of large data

About

✨ Coding challenge - iOS Engineer in Yumemi.inc

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages