This repository contains the iOS Application of Gameful.
Gameful is an app that includes games from all platforms. You can sort the game list by rating, popularity, release date and so on... You can search any game you are interested in and also put them in your favorite list. Additionally, you can take a note about the game if you want.
- Murat Ceyhun Körpeoğlu muratceyhunkorpeoglu@gmail.com
-
Please install podfile first.
-
You're good to go. Open Gameful.xcworkspace.
To ensure clarity and to make it easier to find stuff, please make sure to follow these general guidelines:
- Project files and folders should be aligned with the file system.
- Underlying assets inside an
.xcassets
should match the file system. - Unused or commented code blocks should never be comitted to version control unless it's there temporarily.
- Pay attention to weakify view controllers or other objects used inside an escaping block
We follow naming conventions from the Swift API Design Guidelines.
UpperCamelCase and should NOT start with any prefix.
final class HomeViewController: UIViewController {}
All local and static variables, properties, and methods should be lowerCamelCase
class BaseCollectionViewCell: UICollectionViewCell {
public static var reuseIdentifier: String {
return String(describing: self)
}
}
Outlets should be named as follows: {name}{viewType}
ex: posterImageView
class ViewController {
@IBOutlet weak var posterImageView: UIImageView!
@IBOutlet weak var titleLabel: UILabel!
}
Not
delete.png
menu.png
selected.png
Localized strings defined in Localizable.strings
can be accessed through the generated Strings constants as below.
Localizable.strings
:
"welcome.message" = "Welcome";
"title" = "This is a title";
"welcome.withName" = "Welcome %d ;
"copy.progress" = "You complete %d of %d.";
Dimensions can range from spacing, margins, paddings, to font sizes and other constants.
We prefer to define them as static constants in the place (class) they belong to.
Example:
final class SquareIconView: BaseView {
let size = CGSize(width: 36, height: 36)
override var intrinsicContentSize: CGSize {
return size
}
}
We follow a strict Conventional Commits to help us keep track of work over time.