Skip to content

Commit 775c80a

Browse files
authored
Update README.md
updated coding review info
1 parent bef6362 commit 775c80a

File tree

1 file changed

+50
-13
lines changed

1 file changed

+50
-13
lines changed

README.md

+50-13
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
# How to Learn iOS Development
22

3-
# Swift Programming language - The basics
3+
## Swift Programming language - The basics
44
- types: enum, struct, Int
55
- enum and associated values
66
- when to use struct vs. class
@@ -10,43 +10,50 @@ resource:
1010
- 100 days HackingWithSwift
1111
- Apple Swift books
1212

13-
# UIKit
13+
## UIKit
1414
- UIView vs UIViewController
1515
- view controller lifecycle
1616
- UITableView, UICollectionView, Delegate pattern and DiffableDataSource
1717

18-
# SwiftUI
18+
## SwiftUI
1919
Standford course
2020

21-
# Working with Data
21+
## Working with Data
2222
- storing data locally with UserDefaults and in the file system with the FileManager
2323
- relational database like Core Data or realm
2424
- user authentication with e.g. Firebase
2525
- Codable protocol
2626
- REST APIs, URLSession
2727

2828

29-
# Intermediate Skills
30-
- How to use the Apple Developer Documenation
31-
- Read about UI and UX design - Human interface guidelines
29+
## Intermediate Skills
30+
- How to use the Apple Developer [Documenation Youtube tutorial](https://youtu.be/_HmNBrO5Mhc)
31+
- Read about UI and UX design - [Human interface guidelines](https://developer.apple.com/design/human-interface-guidelines/)
3232
- version control and Git
3333

3434

35-
# Swift Programming language - Advanced
35+
## Swift Programming language - Advanced
3636
- protocol, dependency injection
3737
- best practices
3838

3939
resource:
40-
- Swift Programming language
40+
- Swift Programming language [guide](https://docs.swift.org/swift-book/LanguageGuide/TheBasics.html)
4141

4242

43-
# Advanced Skills
44-
## Developer CV
43+
## Advanced Skills
44+
45+
# Developer CV
4546
Be honest and show your main relevant working experience and education.
4647

4748

48-
## Developer Portfolio
49-
What kind of projects should you build?
49+
# Developer Portfolio
50+
51+
Coding Foundry Youtube tutorial: [What you NEED to include in your developer portfolio](https://www.youtube.com/watch?v=BZLLP7Gk3ps)
52+
53+
Build a portfolio website with Wordpress and Elementor
54+
[(Youtube tutorial)](https://www.youtube.com/watch?v=gFnN-E8yruE&t=944s) + [hositing](http://hositinger.com) ($70 for 4 years)
55+
56+
### What kind of projects should you build?
5057
Start by looking at job boards and read throuhg the requirements. Look for jobs that you want. If you want to become a game developer, the requirements are very different than for a E-commerce app development. Here is an example of what you might see:
5158
- proficiency with Swift or Objective C, and Cocoa Touch
5259
- Xcode
@@ -90,3 +97,33 @@ This tutorial series is a good example for this kind of portfolio project
9097
https://youtu.be/ggEcSzPbVr4
9198

9299

100+
### Example Project 2
101+
Productivity app / BugTracker / Trello
102+
103+
Demonstrating the following skills
104+
- Firebase login screens,
105+
- user roles and access (admin vs. basic user)
106+
107+
## Github repo must-do's
108+
- write a good Github readme: short descriptions of app idea, images, gifs
109+
- Instruction for installations - API keys, pods, Firebase setup
110+
- Include links to API documentation
111+
- Explain why and for what you use third party libraries
112+
- list code features: (iOS dev job requirements) like: Core Data, Core Animation, UIKit or SwiftUI, UISearchController, MVVM, Combine, unit tests, localisation, Core ML
113+
114+
## Project requirements:
115+
- Good looking UI
116+
- Conform to human interface guideline
117+
- project should build
118+
- project should not include bugs or crash (for most common actions)
119+
- Bonus: nice loading animations, empty state placeholders, error feedback for user
120+
121+
## Criteria for code review:
122+
- Clean code
123+
- Simple (don’t use nested view models with unclear tasks)
124+
- Readable: naming conventions for class, functions and variables
125+
- DRY, modular code
126+
- Don’t keep uncommented code - clutter
127+
- Don’t write a lot of comments - clutter - use better, more descriptive names
128+
- no typing mistakes,
129+
- consistent project structure (folder naming)

0 commit comments

Comments
 (0)