Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
44 commits
Select commit Hold shift + click to select a range
ac46b5f
project setup
zigzagg16 Nov 7, 2017
172f144
RepositoryListing module created
zigzagg16 Nov 7, 2017
39c19ba
RepositoryDetail module created
zigzagg16 Nov 7, 2017
4abf6a5
basic storyboard with modules initialized
zigzagg16 Nov 7, 2017
b932148
Merge branch 'feature/modules' into develop
zigzagg16 Nov 7, 2017
9ccc188
basic UI tableview
zigzagg16 Nov 8, 2017
4db24e2
display basic data, handle routing to detail module
zigzagg16 Nov 8, 2017
351a2e0
Merge branch 'feature/basicNavigation' into develop
zigzagg16 Nov 8, 2017
1a6870d
base files and classes
zigzagg16 Nov 11, 2017
13ed062
response decoding
zigzagg16 Nov 12, 2017
6a8b28f
display first 30 repos, pass parameter to next module
zigzagg16 Nov 12, 2017
b1be169
Merge branch 'feature/apiCall' into develop
zigzagg16 Nov 12, 2017
5680ec1
app icon
zigzagg16 Nov 13, 2017
e51f229
complete parsing, added RepositoryOwner type
zigzagg16 Nov 13, 2017
2c60616
basic cell filling
zigzagg16 Nov 13, 2017
0df55bf
icons in cells
zigzagg16 Nov 13, 2017
b1fc25f
Merge branch 'feature/design' into develop
zigzagg16 Nov 13, 2017
6dc39ba
display basic detail title of repo
zigzagg16 Nov 13, 2017
5be4275
first request to get list of PRs of a repository (no parsing yet)
zigzagg16 Nov 13, 2017
277554b
decode pull requests
zigzagg16 Nov 14, 2017
27d58f6
avoid duplicate code to send request
zigzagg16 Nov 14, 2017
4e31bc3
display pull requests
zigzagg16 Nov 14, 2017
b0dc205
Merge branch 'feature/repoDetail' into develop
zigzagg16 Nov 14, 2017
64a4eb4
basic header/footer
zigzagg16 Nov 14, 2017
3dfd1e9
jazzy config file
zigzagg16 Nov 14, 2017
5249a70
config files + basic doc
zigzagg16 Nov 14, 2017
2a7a2cd
complete doc
zigzagg16 Nov 14, 2017
3c2020b
Merge branch 'feature/doc' into develop
zigzagg16 Nov 14, 2017
5dae2d0
first basic test
zigzagg16 Nov 14, 2017
955e0d6
various project improvements
zigzagg16 Nov 15, 2017
8dff321
Merge branch 'feature/testing' into develop
zigzagg16 Nov 15, 2017
d7a16e2
display date, add basic test for date formatting
zigzagg16 Nov 15, 2017
ac17e7e
update pods
zigzagg16 Nov 15, 2017
d4161c1
show loaders in views
zigzagg16 Nov 15, 2017
9d3d64f
localisable
zigzagg16 Nov 15, 2017
62f1c5e
Merge branch 'feature/loaders' into develop
zigzagg16 Nov 15, 2017
70df162
updated doc
zigzagg16 Nov 15, 2017
9602a7d
added HTML url property
zigzagg16 Nov 15, 2017
948a658
max height to PR cell (description max 200)
zigzagg16 Nov 15, 2017
c0768ae
open the PR url
zigzagg16 Nov 15, 2017
947cea9
Merge branch 'feature/safariOpen' into develop
zigzagg16 Nov 15, 2017
d50fbbe
allow docs/ in git
zigzagg16 Nov 15, 2017
9e0ee31
updated docs with Jazzy
zigzagg16 Nov 15, 2017
5193b7b
Merge branch 'feature/docs' into develop
zigzagg16 Nov 15, 2017
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
72 changes: 72 additions & 0 deletions .gitignore
Original file line number Diff line number Diff line change
@@ -0,0 +1,72 @@
# Xcode
#
# gitignore contributors: remember to update Global/Xcode.gitignore, Objective-C.gitignore & Swift.gitignore

## Build generated
build/
DerivedData/

## Various settings
*.pbxuser
!default.pbxuser
*.mode1v3
!default.mode1v3
*.mode2v3
!default.mode2v3
*.perspectivev3
!default.perspectivev3
xcuserdata/

## Other
*.moved-aside
*.xccheckout
*.xcscmblueprint

## Obj-C/Swift specific
*.hmap
*.ipa
*.dSYM.zip
*.dSYM

## Playgrounds
timeline.xctimeline
playground.xcworkspace

# Swift Package Manager
#
# Add this line if you want to avoid checking in source code from Swift Package Manager dependencies.
# Packages/
# Package.pins
# Package.resolved
.build/

# CocoaPods
#
# We recommend against adding the Pods directory to your .gitignore. However
# you should judge for yourself, the pros and cons are mentioned at:
# https://guides.cocoapods.org/using/using-cocoapods.html#should-i-check-the-pods-directory-into-source-control
#
Pods/

# Carthage
#
# Add this line if you want to avoid checking in source code from Carthage dependencies.
# Carthage/Checkouts

Carthage/Build

# fastlane
#
# It is recommended to not store the screenshots in the git repo. Instead, use fastlane to re-generate the
# screenshots whenever they are needed.
# For more information about the recommended setup visit:
# https://docs.fastlane.tools/best-practices/source-control/#source-control

fastlane/report.xml
fastlane/Preview.html
fastlane/screenshots
fastlane/test_output

# Generamba

Templates/
14 changes: 14 additions & 0 deletions .jazzy.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,14 @@
clean: true
author: Arnaud Schloune
author_url: https://twitter.com/mmommommomo
github_url: https://github.com/mmommommomo/desafio-mobile-ios
github_file_prefix:
module: SwiftyGit
min_acl: internal
exclude: [
SwiftyGit/AppDelegate.swift,
SwiftyGit/RepositoryDetail/*,
SwiftyGit/RepositoryListing/*
]
hide_documentation_coverage: false
documentation: SETUP.md
2 changes: 2 additions & 0 deletions .swiftlint.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,2 @@
excluded: # paths to ignore during linting. Takes precedence over `included`.
- Pods
22 changes: 22 additions & 0 deletions LICENSE
Original file line number Diff line number Diff line change
@@ -0,0 +1,22 @@
The MIT License (MIT)

Copyright (c) 2017 Arnaud Schloune

Permission is hereby granted, free of charge, to any person obtaining a copy
of this software and associated documentation files (the "Software"), to deal
in the Software without restriction, including without limitation the rights
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
copies of the Software, and to permit persons to whom the Software is
furnished to do so, subject to the following conditions:

The above copyright notice and this permission notice shall be included in all
copies or substantial portions of the Software.

THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
SOFTWARE.

17 changes: 17 additions & 0 deletions Podfile
Original file line number Diff line number Diff line change
@@ -0,0 +1,17 @@
platform :ios, '9.0'

target 'SwiftyGit' do
use_frameworks!

# Pods for SwiftyGit

pod 'Alamofire', '~> 4.5'
pod 'AlamofireImage', '~> 3.3'
pod 'SVProgressHUD'

target 'SwiftyGitTests' do
inherit! :search_paths
# Pods for testing
end

end
19 changes: 19 additions & 0 deletions Podfile.lock
Original file line number Diff line number Diff line change
@@ -0,0 +1,19 @@
PODS:
- Alamofire (4.5.1)
- AlamofireImage (3.3.0):
- Alamofire (~> 4.5)
- SVProgressHUD (2.2.2)

DEPENDENCIES:
- Alamofire (~> 4.5)
- AlamofireImage (~> 3.3)
- SVProgressHUD

SPEC CHECKSUMS:
Alamofire: 2d95912bf4c34f164fdfc335872e8c312acaea4a
AlamofireImage: 2e784dc5d00f04903a52c1d169181469c805c3df
SVProgressHUD: 59b2d3dabacbd051576d21d32293ca7228dc18b0

PODFILE CHECKSUM: e2bbf044744c32416a05298b7f5064d416d694c6

COCOAPODS: 1.2.1
33 changes: 33 additions & 0 deletions Rambafile
Original file line number Diff line number Diff line change
@@ -0,0 +1,33 @@
### Headers settings
company: mmommommomo

### Xcode project settings
project_name: desafio-mobile-ios
xcodeproj_path: SwiftyGit.xcodeproj

### Code generation settings section
# The main project target name
project_target: SwiftyGit

# The file path for new modules
project_file_path: SwiftyGit/

# The Xcode group path to new modules
project_group_path: SwiftyGit/

### Tests generation settings section
# The tests target name
test_target: SwiftyGitTests

# The file path for new tests
test_file_path: SwiftyGitTests/

# The Xcode group path to new tests
test_group_path: SwiftyGitTests/

### Dependencies settings section
podfile_path: Podfile

### Templates
templates:
- {name: swifty_viper}
34 changes: 34 additions & 0 deletions SETUP.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,34 @@
# Desafio de programação mobile iOS

Hi there! Thanks for taking the time to review my exercise.
Here are some information about the project! Enjoy 😀

## 📲 Running the project

Open the terminal, then run the following command

```ruby
pod install
```
After that, open **SwiftyGit.xcworkspace** with XCode.

## 🛠 Tools used
- Generamba (Generates Swift VIPER modules)
- SwiftLint (Checks the code syntax)
- Jazzy (Generates that documentation)

## 🔮 External libs used
- Alamofire (network requests)
- AlamofireImage (loading and caching images)
- SVProgressHUD (display loaders)

## 👨🏼‍💻 TODO
- Store data on the device
- Allow to display more repositories (with infinite scroll)
- More unit tests


## 🗣 Contact

- [twitter](https://twitter.com/mmommommomo)
- [Github](http://github.com/arn00s)
Loading